- Подключение файла подкачки (SWAP) в MAC OS X при использовании внешнего SSD-диска в качестве системного
- linux-notes.org
- Работа со Swap в Mac OS X
- Отключение/Включение SWAP в Mac OS X
- Отключение SWAP в Mac OS X
- Включить SWAP в Mac OS X
- Добавить комментарий Отменить ответ
- Виртуальная память: как отключить файл подкачки в Mac OS X
- Выключение файла подкачки в Mac OS X
- Mac Virtual Memory – What it is, the Swap Location, and How to Disable Swap in Mac OS X
- Mac OS X Swap aka Virtual Memory
- Mac OS X Swap File Location
- Disable Mac OS X Paging / Swap
- Related
- Enjoy this tip? Subscribe to our newsletter!
- Thank you!
- Related articles:
- 36 Comments
Подключение файла подкачки (SWAP) в MAC OS X при использовании внешнего SSD-диска в качестве системного
Доброго времени суток, дорогие товарищи!
Очень короткое сообщение хочу оставить здесь, для того, чтобы люди, которые имеют проблему, сходную с моей, не тратили слишком много времени на ее решение.
Как-то раз, мне пришлось призадуматься над одной небольшой задачкой. Есть компьютер iMac, есть успешно установленная OS X Sierra на внешний, подключенный через USB SSD-диск, и есть странное, удивительное, и при этом — полное, отсутствие файла подкачки.
Не буду здесь вдаваться в подробности мониторинга, определения, и подтверждения этого факта, чтобы не тратить драгоценное время читателей. В нашей, российской «пустыне», бессмысленно искать что-либо по этому поводу. Ибо на текущий момент — просто нет ничего вразумительного. Англоязычный сектор интернета при этом — также, не порадовал ничем существенным.
Время шло. Проблема стояла, как «немой укор». И вдруг, неожиданно, примерно в начале октября, вышло обновление OS X, которое называется «Mojave». Надежда, как говорится, умирает последней. Не один я «плакался» на просторах интернета, как бестолкова и инертна техподдержка Mac OS X. И, свой печальный опыт звонка «прямо туда», я решил более никогда не повторять в целях экономии собственного времени. Как и стОило ожидать, Mojave не только не исправила проблему с постоянным отваливанием после пробуждения из сна клавиатуры и мыши, но, также и ничего не решила с файлом подкачки или хотя бы добавлением возможностью управлением этой очень важной, на мой взгляд, функцией.
Вышло так, что мне пришлось делать копию больших, но при этом безобразно мелких данных, с удаленного сервера в свое локальное хранилище по протоколу SSH. Я использовал для этих целей достаточно известный продукт, который назыается Cyberduck. Все в нем хорошо и прекрасно. Кроме того, что при работе с большим количеством мелких файлов, он, вероятно, для контроля ошибок передачи, ведет свой собственный, временный лог, который, скорее всего, наращивается во временных файлах (или кэше системы) и, достигает размеров, сопоставимых с размерами загружаемых данных. Что разумеется, тут же отражается на производительности системы. И «живет» этот лог, при этом, не где-нибудь — а непосредственно в оперативной памяти. В моей системе оперативной памяти — 8 Гб. Но в работе с системой я вижу постоянно занятыми порядка 6-7 Гб. Некоторые люди в нашей «пустыне» об этом странном событии сообщают так: (прочитал где-то на форумах) ««Политика компании Apple такова: „Вы купили много оперативной памяти, и заплатили за это много денег. Так почему эта оперативная память не должна использоваться полностью“ . » То есть, когда я оставил на ночь процесс копирования этих самых мелких данных, и пришел наутро посмотреть «а как оно там?», я сразу понял, что что-то — не так. После двух-трех движений мышью и клавиатурой система встала колом.
Уверен, что очень многих людей удивляет в принципе, как это вообще возможно — полная остановка OS X. Но когда не хватает оперативной памяти — очень даже. При этом, система до сих пор (. ) никак не предупреждает пользователя, что у него проблемы со свободной оперативной памятью, и эти все дела, просто могут привести к полному краху.
Теперь, думаю, дорогие товарищи, вам всем абсолютно понятна, прозрачна, и ясна, степень моей мотивации в решении этой проблемы.
конец преамбулы
После долгих мучений получилось наконец написать одной строкой команду монтирования того диска, который помечен OS X как несмонтированный, и как выделенный системой под нужды использования виртуальной памяти (VM).
Большей частью благодаря одному ответу на Тостере. И еще сотней прочитанных страниц форумов и блогов в интернете.
Прошу обратить Ваше внимание на обратные кавычки ограничивающие собственно фильтр после сцепки нескольких команд, которые своим выводом просто определяют аргумент команды монтирования — именно то имя (номер) диска, который в наборе с другими, помечен как VM. В настоящий момент, то, что вижу я — это disk4s4. Но, когда к моноблоку подключен второй или еще и третий внешний диск — то имя диска помеченного как VM может быть запросто и таким: disk5s4, и таким: disk6s4. Еще один момент. Между простыми вертикальными кавычками во фрагменте «awk -F ‘ ‘ » — (сразу после буквы F две кавычки) — присутствует пробел. То есть, еще раз, — между одиночными кавычками после F — ПРОБЕЛ (!). Но, это, на всякий случай. Опытные бобры сразу же найдут выход их хаты. 🙂
Для тех людей у которых нет никаких подключаемых внешний накопителей, или же их набор всегда постоянен — все гораздо проще. Для автоматизации можно использовать всего лишь одну команду монтирования вполне конкретного диска, предварительно получив его имя при помощи
Извините, до абсолютной автоматизации руки еще не дошли, но, надеюсь дополнить в ближайшее время.
Если у кого-то со сходной проблемой — «не взлетает» — ну что же — давайте попробуем обсудить это…
==
UPD: строчка для AppleScript будет выглядеть так:
==
(do shell script «diskutil mount -mountPoint /private/var/vm `diskutil ap list | grep VM | awk -F ‘ ‘ ‘/d/
==
Источник
linux-notes.org
Я писал заметку о там как работать со swap-ом на Debian-о и RedHat подобных ОС. Но меня заинтересовало как обстоит дело на ОС Mac OS X. По умолчанию, файл подкачки имеется в системе. И как быть? Нужен он или все же нет?
Чтиво о чем уже говорилось и писалось:
Но а теперь я расскажу все за и против о файле подкачки в макосе.
Работа со Swap в Mac OS X
Файл подкачки (Swap)– это механизм для работы с виртуальной памятью. Основная задача заключается в том, чтобы неактивные фрагменты памяти перемещать из RAM прямо на жёсткий диск (в этот же файл подкачки — swap) для временного хранения. Это дает возможность освободить память для загрузки новых фрагментов памяти. При потребности этих фрагментов, система возвратит их обратно в RAM. Данный механизм, дает возможность использовать больше оперативной памяти чем имеется в ОС. Недостатком является то, что файл подкачки работает гораздо медленнее чем оперативная память. Все упирается в ограничение скорости работы жесткого диска.
Для того чтобы узнать сколько используется виртуальной памяти в Mac OS X, можно запустить утилиту — Мониторинг системы (Программы -> Утилиты). В ней можно наглядно посмотреть использование RAM, своп, загрузку, выгрузку страниц, а также объем свободной, зарезервированной, активной и неактивной памяти:
Мониторинг системы в MacOSX
Аналогичной утилитой является top/htop. Можно использовать и другие варианты, но суть статьи не в том.
Swap в Mac OS X помещается в папку /private/var/vm/ для хранения и использования данных:
Как видно с листинга, что файлы хранятся с именами — swapfile[0,1. 10….100..]. У меня, они имеют размер около 1Гб — как по мне — это очень большие данные. Ну ту такое 🙂 Я предполагаю что такой объем в файлах вызван долгой работой Mac OS X без перезагрузки:
PS: Максимально что у меня было:
И то, нужно было обновить ОС, т.к вышла мажорная версия.
Собственно для чего они там нужны? А в этой папке, сохраняются данные с RAM когда мак находится в режиме сна.
Отключение/Включение SWAP в Mac OS X
И так, начиная с Mac OS 9, в системе можно было выключать swap через системные настройки и тем самым позволяло ускорить работу мака. С выходом Mac OS 10 — ситуация изменилось вместе с архитектурой системы, которая построена на ядре unix и активно использует файлы для подкачки страниц и управления кешем.
Я сейчас расскажу как можно выключить файл подкачки в Mac OS X, но делать это нужно с уверенностью, т.к это может вызвать торможения мака. И Делать это можно, если на борту имеется хотя бы 8-16Гб RAM, а иначе вы можете получить проблемы с нехваткой памяти. Но с другой стороны, при отключенном swap может подняться продолжительность жизни SSD дисков.
Решать вам, стоит или не стоит отключать SWAP!
Отключение SWAP в Mac OS X
Чтобы выключить файл подкачки, используйте команду:
Т.к свап был выключен, на диску имеется файлы который он использовал. Удалим их:
PS: Я бы не рекомендовал просто так их удалять. Я бы создал копию всего диска через Time Machine, ну или хотя бы скопировал все swapfile в другую папку. Это позволит вернуть все на свои места.
По завершению, стоит выполнить перезагрузку ОС, из консоли можно выполнить:
После перезагрузки смотрим как будет работать система.
Включить SWAP в Mac OS X
Если Вы все же выключили файл подкачки на Mac OS X, то для включения служит:
И снова перезапускаем ОС.
Выводы
Выключать swap не желательно. Я не проверял работоспособность. Основываюсь на опыте некоторых людей.
Как-то так, статья «Работа со Swap в Mac OS X» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Виртуальная память: как отключить файл подкачки в Mac OS X
Виртуальная память — технология управления памятью, разработанная для многозадачных операционных систем для увеличения эффективности использования памяти компьютера несколькими одновременно работающими программами.
В предыдущих версиях Mac OS (OS 8 и 9) система позволяла вручную выключать своп через панель управления в системных настройках. В десятой версии Mac OS ситуация изменилось вместе с архитектурой системы, которая построена на ядре unix и активно использует своп-файл для подкачки страниц и управления кешем. Поэтому своп в OS X более важен, чем в предыдущих версиях системы.
Механизм работы виртуальной памяти достаточно простой. Когда системе требуется новая память, она отправляет неиспользуемые фрагменты в файл подкачки на временное хранение. Когда эта память потребуется снова, система считывает данные из файла и возвращает их в память. В каком-то смысле это позволяет иметь неограниченный объем памяти в системе. Однако виртуальная память значительно медленнее оперативной памяти и ограничена производительностью жесткого диска.
Чтобы узнать об использовании виртуальной памяти в Mac OS X, воспользуйтесь командой Терминала “vm_stat” или с запустите Мониторинг системы (который зачастую называют Диспетчером задач для Mac). Здесь можно узнать использование виртуальной памяти, своп, загрузку, выгрузку страниц, а также объем свободной, зарезервированной, активной и неактивной памяти. Подробнее об этих типах памяти мы говорили в одной из прошлых статей.
В Mac OS X своп расположен в папке /private/var/vm/. В этой директории хранится и дамп оперативной памяти на момент засыпания Mac. Система обращается к этому файлу при выводе компьютера из сна.
Файлы подкачки имеют название swapfile0, swapfile1, swapfile2, swapfile3, swapfile4, swapfile5. Они могут быть любого размера от 64 до 512 Мб. Помимо Finder их можно увидеть через Терминал командой ls -lh /private/var/vm/swapfile*.
Выключение файла подкачки в Mac OS X
Предостережение: не рекомендуем вносить изменения в систему управления памятью в Mac OS X, особенно, если вы не уверены в своих знаниях и не имеете достаточно опыта. Отключение своп может привести к нестабильной работе системы.
Для того, чтобы выключить своп в OS X выполните команду Терминала:
Эта команда полностью отключает использование виртуальной памяти Mac, что при низком объеме оперативной памяти компьютера может привести аварийному завершению работы системы. Включить своп можно другой командой из режима одиночного пользователя (Command + S при перезагрузке Mac):
Следующим шагом может быть удаление файлов подкачки, которые занимают ценное место на жестком диске Mac. Команда для удаления свопа в Mac OS X:
Зачастую из файла подкачки можно извлечь конфиденциальную информацию, используемую при работе компьютера. Поэтому при работе с секретными данными рекомендуется регулярно производить очистку своп.
Источник
Mac Virtual Memory – What it is, the Swap Location, and How to Disable Swap in Mac OS X
I was asked recently about the Mac OS X swapfile, specifically how to disable Mac OS X swapping entirely. I decided I will take this opportunity to talk a bit about Mac virtual memory (swap), it’s location in the Mac file system, and also to explain how to disable it.
Mac OS X Swap aka Virtual Memory
You may recall that in older versions of Mac OS (OS 8 and 9) you could manually disable swapping, then called Virtual Memory, by just adjusting a setting in the Control Panels. Mac OS X is a bit different because it’s built on top of a unix core which relies heavily on swap files and paging for general memory and cache management. Because of this, swap is actually more important now than it was in prior versions of Mac OS.
Basically when your Mac needs memory it will push something that isn’t currently being used into a swapfile for temporary storage. When it needs accessing again, it will read the data from the swap file and back into memory. In a sense this can create unlimited memory, but it is significantly slower since it is limited by the speed of your hard disk, versus the near immediacy of reading data from RAM.
If you’re curious, you can check Mac OS X’s virtual memory usage using the ‘vm_stat’ command, or by using the Activity Monitor (often erroneously called the Mac task manager by Windows converts).
Mac OS X Swap File Location
If you’re curious where the swap files are stored on your Mac, they’re located at:
This directly also contains your sleepimage file, which is essentially what your Mac has been storing in memory prior to system sleep. This file is read again when you wake your Mac up to return to it’s previous state. Anyway, back to swap files in the same directory: they are named successively swapfile0, swapfile1, swapfile2, swapfile3, swapfile4, swapfile5. You can see them for yourself with the following command:
ls -lh /private/var/vm/swapfile*
The swapfiles are generally staggered in size, ranging from 64MB to 512MB.
Disable Mac OS X Paging / Swap
Caution: I would highly recommend against modifying how Mac OS X handles memory management and swap files. Unless you know exactly what you’re doing and why, this is not a recommended adjustment. Again, if you don’t know what you’re doing, do not mess around with Mac OS X’s swapfiles or paging ability!
In the Terminal, enter the following command. This will unload the dynamic pager from the Mac OS X kernel:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
Again, this completely disables the Mac OS X paging ability, do not mess around with this for fun.
Your next step would be to remove the swapfiles that are currently stored, they are generally pretty large (it is your virtual memory after all) and take up a fair amount of disk space.
sudo rm /private/var/vm/swapfile*
That’s all there is to it.
Related
Enjoy this tip? Subscribe to our newsletter!
Get more of our great Apple tips, tricks, and important news delivered to your inbox with the OSXDaily newsletter.
Thank you!
You have successfully joined our subscriber list.
Related articles:
36 Comments
I want to relocate /private/var/vm/ to a 16 gig optane
Can I relocate to a swap drive/ partition?
I’ve been getting “Mac OS X startup disk has no more space…” Messages for a week now with 100GB of space available. On restart the free space jumps back up to 160GB free but can drop to 100 in a matter of hours with almost nothing running. Using OmniDiskSweeper I found 47 swapfile(s), each over 1GB! As the swapfile(s) propagate, my Mac runs slower and slower, becoming almost useless until the “no more space…” messages forces a reboot. I’ve never had this problem before and have never seen the “no more space…” message before unless the free space dropped into the MB range, certainly not with 100GB free. Is there a fix for this?
What version of Mac OS X are you running? Is the Mac older or newer?
New Macs with SSD volumes should not slowdown as much when swap is used.
If you are running an older version of Mac OS X, and the Mac is new enough to support it, updating to a newer release may resolve the issue (Snow Leopard 10.6.8, Mavericks 10.9.5, El Capitan 10.11.3 are probably the best bets for Mac OS X overall)
$ du -sh /private/var/vm
6.1G /private/var/vm
$ ls -alt /private/var/vm
total 12713984
-rw——- 1 root wheel 1073741824 Jun 13 08:40 swapfile1
-rw——- 1 root wheel 1073741824 Jun 13 08:40 swapfile2
-rw——- 1 root wheel 1073741824 Jun 13 08:40 swapfile3
-rw——- 1 root wheel 1073741824 Jun 13 08:40 swapfile4
-rw——- 1 root wheel 1073741824 Jun 13 08:07 swapfile5
drwxr-xr-x 9 root wheel 306 Jun 13 08:07 .
-rw——- 1 root wheel 67108864 May 30 10:07 swapfile0
-rw——T 1 root wheel 1073741824 May 28 2014 sleepimage
drwxr-xr-x 27 root wheel 918 May 28 2014 ..
$ sudo dynamic_pager -L 1073741824
Password:
$ r ls
ls -alt /private/var/vm
total 2136216
drwxr-xr-x 4 root wheel 136 Jun 13 08:41 .
-rw——- 1 root wheel 20000000 Jun 13 08:41 swapfile0
-rw——T 1 root wheel 1073741824 May 28 2014 sleepimage
drwxr-xr-x 27 root wheel 918 May 28 2014 ..
Certainly does wipe out the swapfiles! But how to make it a
permanent configuration?
Can I change te location of swap file, for example creating a small partition? If yes, how?
Hey I wouldnt mess with the swap files because I wanted to save some space on my mac and it ended up freezing some days after. I had to restart it but it didn’t turn on. I had to take it to apple and had it reset. Maybe it was for something else, but just in case, dont delete them.
Thank you so much, this post gave me the info I needed to move my swap off the SSD and on to the secondary HD.
—-
Bdens
Setup:
Mac Mini 2011 2.5, 8g Ram, 2 HD mod, and Arctic silver 5 – thermal paste
P.S. Apple, PLEASE use better thermal paste and Apply it correctly I lost 10c doing this!
three_jeeps is absolutely right, guys — if you disable virtual memory, you’re going to have a bad time.
Seriously, though, unless you’re doing arcane, deep black magic stuff with the kernel or OS research, DO NOT DO THIS! Very bad things can happen, from your system just being slow and unresponsive to DATA LOSS from the system memory management routines forcibly killing off processes when memory has run out for allocation requests.
Disabling VM is a bad idea. A better way of doing things is to force the dynamic pager to do garbage collection with the command
sudo dynamic_pager -L 1073741824
do you have do to a reset for this to worK?
Has anyone done this?
Tell us how this has been working out — is the warning from ‘Three Jeeps’ above scaring people off?
I’ve got 12GB of RAM on a current Mini, and am puzzling over whether this disabling VM is a good idea.
Or, whether increasing the size of the swap file instead (how?)
I’ve been using my MacPro (32GB RAM) like this for about a week now. I notice SIGNIFICANTLY less drive chatter and many many operations are noticeably faster. Especially OS operations like browsing around in folders with hundreds or thousands of images in each. Icons once displayed are actually instant… I don’t mean fast either. On my system they were fast before. This is instant. Poof! A maximized window populated with any sized icons of RAW (or any kind of) images just appears and scrolling to the bottom of multiple folders each containing 4,000+ images works the same way. Browsing images in LR was sped up by about 10 or 20% too. Good news for those who like LR. Bridge was already very fast (about 6 to 8 times faster than LR) for poking around in image folders but it too became slightly faster. It’s too fast in the first place to measure proper differences but doing the best I could with my stop-watch it’s about double the speed with 1st time page displays (from about 2s to about 1s) and instant every time after that – for hours and hours and hours… and hours…
I don’t recommend doing this with only 8GB or less however. But if you have 24GB or more then I feel comfortable recommending running your machine full-time with the dynamic pager turned off. 16GB would probably be OK too. It works on my older 12GB mac pro system just fine. This is why “with lots of RAM” is in the title. Furthermore you should probably run some kind of memory monitor in the BG. I’ve been using MenuMeters since, like, forever… so I didn’t need to add anything to the installation.
I guess this will help with all versions of OS X from about 10.5 on up – which is when the paging system in OS X became slightly ridiculous.
I have a swap file of 209 GB.
How to set a maximum size for it?
I just read this article and the majority of posts and all I can say that it is extremely bad advice to turn off your swap space. To be blunt, this is a very stupid idea. The entire operating system is built around the idea of a backing store for RAM – that is basic Operating System Design 101. Memory allocation and deallocation use some fairly complicated algorithms to provide low-latency response to having multiple applications loaded, run, and then deactivated. Having a very small amount of RAM (e.g. 1 Gig) causes the allocation/deallocation algorithms to be somewhat inefficient, causing bottlenecked or wedged applications. The more apps one runs, the worse the situation becomes. Your system will literally crawl or wedge. Buy as much RAM as you can afford, and increase your swap to something like 10GB or more. Disks are cheap and althought not as fast as RAM, it will not slow your system to a crawl.If you are worried about killing your SSD, you have two choices: max out the RAM and buy a mechanical HD, or, disable swap and watch your system crawl…..To be honest, the likely hood of destroying your SSD is very slim.
DO NOT disable dynamic_pager!
I had it disabled for a few weeks and noticed that my Mac’s wired memory usage would grow out of control. Turns out that dynamic_pager is involved in cleaning up wired memory…
“Wired memory is not immediately released back to the free list when it becomes invalid. Instead it is “garbage collected” when the free-page count falls below the threshold that triggers page out events.”
How can we tell if this worked? I ran the terminal commands>Restarted>Opened Activity Monitor>Chose the System Memory Tab>VM Size: around 190.55GB… Shouldn’t this be 0?
[…] code was a lot weaker. Snow Leopard (10.6) has massive improvements in Apple’s code, and it seems you can get away with this extremely easy technique: In the Terminal, enter the following command. This will unload the dynamic pager from the Mac OS […]
[…] apps open right now and I’m not even close to hitting virtual memory (you can read more about virtual memory in Mac OS X here). Anytime you can avoid using virtual memory your Mac will perform faster since it does not need to […]
[…] Virtual Memory (commonly called swap) […]
[…] Mac OS XはSnow Leopardになってからメモリマネージメントが大分賢くなったけれど、依然としてswapの発生頻度はかなり高い。場合によってはInactiveが数GBあるのにもかかわらずswapを使い始めたりするので、4GB以上搭載していることが当たり前の今は、思い切ってoffにしてしまうのが良い。 今まではswapを無効化するために専門的な知識が必要な部分が多かったのだけど、最近簡単な方法を見つけたので紹介する。下記コマンドをTerminalで実行し、再起動する。 […]
How does OS X keep track of the location of information in the swapfiles? In some systems there is a page table (sometimes actually a tree), but I’ve not been able to locate that in OS X (version 6). Any help out there?
Mac OS X and virtual memory. While it is true that Mac OS X is built on Unix base, the management of virtual memory by OS X is not akin to raw Unix or Linux vm management since virtual memory allocations occur via the microkernel API (Mach).
The Darwin and osfmk source tree does not directly tie to any PPC hardware or x86 hardware related to paging, so that if you’re expecting to find an operating system structure (exposed and accessible through _asm() or c/c++ lib), you will find none. In fact, if you attempt to access memory that is not “pre-allocated” by Mac OS X, it achieves a “bus error” and fails whereas some Unix OS would allocate another VM page and continue. In cases where the kernel can not create more VM for itself, it enters a hard stop and crashes (why you should leave VM “on”).
The latter is also why porting “other Unix” code to Mac OS X is a chore if the c/c++ source is not well-behaved and cooperating with OS API to allocate VM. These “rules” prevent code allocating beyond (overrun) established code and data boundaries (especially the heap and stack).
Also, to thwart “hacking,” the structures used to govern memory allocation are not exposed in c/c++ API libraries, not even for _setjmp() and _longjmp() functions.
Another layer of protection is that virtual memory init begins during Open Firmware initialization and setup of context which is based as “values” for Mach-O to use.
[…] Virtual memory in any operating system isn’t something you should really mess with, as the operating system likes to do it’s own thing in terms of handling it’s own memory management. That being said, if you want to disable virtual memory altogether on your Mac because you’re foolhardy and/or have oodles of RAM, then by all means, go right ahead. […]
Источник