Ускоряет, но иногда вредит. Как работает файл подкачки macOS и где его отключить

Артём Суровцев avatar | 7
FavoriteLoading В закладки

Одна из важных фишек современных операционных систем это файл подкачки. Он позволяет более оперативно работать с данными и ускорять некоторые процессы на компьютере.

Сейчас разберемся, как работает данная опция на Mac, нужно ли менять ее параметры и на каких компьютерах получите ощутимый результат от отключения файла подкачки.

? Спасибо re:Store за полезную информацию. ?

Что такое файл подкачки

Файл подкачки (swap) – способ работы виртуальной памяти, при котором некоторые данные во время работы перемещаются из оперативной памяти (RAM) на жесткий диск. Для временного хранения этих данных создается файл подкачки.

Так система может освобождать оперативную память для более срочных системных задач, выгружаемые в файл подкачки данные вызываются быстрее, чем полностью выгруженные из ОЗУ. При этом объем оперативной памяти на компьютере фактически увеличивается за счет постоянной памяти.

Разумеется, работает файл подкачки медленнее, чем оперативная память. Скорость его работы ограничена скоростью работы накопителя.

Большинство пользователей Windows-компьютеров со стажем помнит, как сразу же после переустановки ОС настраивался размер файла подкачки. Ведь оперативная память в то время была сильно дороже HDD а, чтобы система не тормозила и позволяла играть в игры с лучшими настройками, приходилось сильно увеличивать файл подкачки.

Есть ли файл подкачки в macOS

Абсолютно такой же механизм есть и в macOS. Многие пользователи даже не задумывались о его существовании, ведь компьютеры Apple отлично работают из коробки и не требуют тонких ручных настроек.

Увидеть объем данных, который хранится в файле подкачки macOS, можно при помощи приложения Мониторинг системы. Найти его можно Launchpad или поиске Spotlight.

На вкладке Память отображается общий объем оперативной памяти на компьютере, объем занятой памяти и размер файла подкачки.

Хранится файл подкачки по пути /private/var/vm/, здесь же располагаются файлы гибернации и безопасного спящего режима.

В тему: какие режимы сна существуют в macOS и как они настраиваются

Система самостоятельно разбивает хранимый кэш в файле подкачки на равные по размеру файлы объемом 1 ГБ.

Узнать текущий объем выделенного под файл подкачки места можно при помощи Терминала. Следует ввести команду:

diskutil ap list

После этого в списке следует найти раздел VM (Case-insensitive), который ссылается на местоположение /private/var/vm.

Зачем отключать файл подкачки

Файл подкачки очень важный механизм, который позволяет комфортно работать на компьютере с небольшим объемом оперативной памяти. Сейчас рассмотрим все преимущества и недостатки его отключения.

Отключение файла подкачки продлит срок службы SSD накопителя. Разумеется, если сократить количество циклов записи чтения на встроенный в Mac диск, то он прослужит дольше. На практике все не так очевидно.

Точных данных о том, на сколько использование swap сокращает ресурс SSD нет. Файл подкачки может использоваться несколько сотен раз в минуту или вовсе находиться без изменения несколько дней. Все зависит от слишком большого количества факторов.

Отключение файла подкачки освободит место на накопителе. С этим преимуществом не поспоришь. Когда на небольшом 128-гигабайтном диске компьютера 5-7 Гб съедает swap, а пользователь вынужден каждую неделю чистить Mac от загрузок и системного мусора, логичнее отключить файл подкачки.

Отключение файла подкачки может ускорить работу Fusion Drive. На Mac с парой накопителей SSD + HDD кэшируемые данные могут забивать небольшой скоростной диск и отправлять важные рабочие файлы на более медленный накопитель. Так встроенный механизм оказывает вам медвежью услугу. С одной стороны он пытается сохранить данные для быстрого доступа к ним, но с другой он помещает другие данные на менее производительный HDD.

Без файла подкачки Mac будет тормозить. Если на компьютере не хватает оперативной памяти для текущих задач, компьютер не сможет сгружать данные в swap и будет просто выгружать программы и кэш. На их повторный запуск потребуется больше времени. Визуально это будет заметно, компьютер станет более задумчивым, а иногда и откровенно лагающим.

Многие приложения и игры рассчитаны на работу с файлом подкачки и без него могут работать некорректно. Фото- и видеоредакторы, приложения для работы с графикой или базами данных часто обрабатывают объем информации, который превышает объем ОЗУ. Без файла подкачки такие приложения могут неожиданно завершать работу или серьезно тормозить.

Большинство страхов, которые связаны со сроком работы SSD, появились более 15 лет назад. Тогда твердотельные накопители действительно имели ощутимо меньший ресурс и могли быстрее выйти из строя при использовании файла подкачки.

Сейчас “убить” SSD при помощи частой записи и чтения swap практически невозможно. Реальный профит при отключении файла подкачки – это освобождение места на накопителе.

Как отключить файл подкачки в macOS

В старых версиях операционной системы Apple (macOS 9) была возможность отключать swap прямо в системных параметрах. Позже эту опцию скрыли с глаз пользователей. Однако, нет операций, которые бы нельзя было выполнить при помощи всемогущего Терминала.

Для отключения файла подкачки на Mac следует выполнить в терминале такую команду:

$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

После этого следует удалить уже созданные файлы кэша swap:

$ sudo rm -f /private/var/vm/swapfile*

Изменения вступят в силу после перезагрузки компьютера.

Чтобы после проделанных манипуляций снова включить файл подкачки, выполните следующую команду:

$ sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

После этого снова перезагрузите Mac.

Так нужно ли отключать файл подкачки

Я провел несколько экспериментов с отключением swap на двух компьютерах: старом Mac mini 2012 с медленным HDD и 4 ГБ ОЗУ и на шустром хакинтоше с объемом оперативной памяти 16 ГБ, но скромным SSD накопителем на 128 ГБ.

В первом случае отключение файла подкачки заметно снизило производительность системы. Mac mini не стал ощутимо тормозить, но вот повторный запуск уже открытых приложений, возврат к старым вкладкам браузера или переключение между файлами в фоторедакторе занимали иногда до 30-40 секунд.

Если пытаться не держать в оперативной памяти много хлама, завершать ненужные приложения и не открывать более 10 вкладок Safari, то негативное влияние отключенного swap практически не ощущается. Из позитивных моментов лишние 8 ГБ на диске, что вообще незаметно при объеме HDD 1 ТБ.

На устройстве с небольшим SSD, но достаточным объемом ОЗУ отключение файла подкачки произошло незаметно. Система и так крайне редко выгружала что-то на SSD, а после изменения настроек и вовсе стала работать только с быстрой оперативкой. При этом удалось очистить менее 2 ГБ места за счет накопившегося кэша swap.

В итоге считаю отключение файла подкачки нежелательным на компьютерах с объемом ОЗУ менее 8 ГБ. Стоит экспериментировать лишь на Mac с небольшим SSD диском и достаточным объемом оперативной памяти. Еще отключать системный механизм можно на компьютерах с Fusion Drive для более предсказуемой работы Mac.

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (12 голосов, общий рейтинг: 4.75 из 5)
undefined
iPhones.ru
Встроенная фишка, которую иногда лучше отключать.
Прокомментировать

🙈 Комментарии 7

  1. Maximvs_Storm avatar
    Maximvs_Storm2 августа 2020
    3

    СтОит добавить что вышеописанное работает только при отключённом SIP. Проясните еще один момент – если включить SIP обратно всё возвращается на круги своя? И кстати раздел vm никуда не девается после отключения подкачки. Короче – можете всё до конца конкретно разжевать или статья опять ни о чём и придётся самому всё искать? Смысл в вашем количестве знаков? Зарплата? Так это вы её получаете – мне на это всё равно. А вот на достоверную полезную инфу – не всё равно.

  2. vgurin avatar
    vgurin2 августа 2020
    0

    Если вам вредит файл подкачки, то вы можете спокойно подать на Эппл в суд для компенсации. Вредит – это не то слово, которое можно использовать в данном случае.

  3. inciter avatar
    inciter2 августа 2020
    2

    Ну и будете ловить kernel panic регулярно. Да, макось иногда слишком агрессивно использует подкачку (например, может скидывать в своп память давно запущенны программ даже при 32 ГБ ОЗУ и куче свободной памяти, чтобы префетчить активно используемые приложения), но на современных маках небольшой своп на производительность почти не влияет.
    На HDD/Fusion, наверное, боль, но тут уже ничего не поделать, свежие версии макоси и вин10 заточены под SSD.

    Есть чуть более безопасный метод отключения свопа:
    1) Отключаем SIP
    2) В терминале: sudo nvram boot-args=”vm_compressor=2″ (парсер мог сломать кавычки, аккуратно)
    3) Включаем SIP

    В таком режиме ОС может немного использовать своп-файл (в основном для «сна» у тех же макбуков), но всегда старается освободить его. Вместо подкачки макось будет сжимать данные в памяти при её нехватке. Если проц слабый, это заметно снизит отзывчивость при использовании нескольких программ.

    inciter avatar
    inciter2 августа 2020
    1

    Для возврата к настройкам подкачки по умолчанию — та же процедура, только
    sudo nvram boot-args=”vm_compressor=4″

  4. Tusk83 avatar
    Tusk832 августа 2020
    0

    Вы сами пишите, что нет достоверных сведений о файле подкачки на SSD. Насколько мне известно, он тоже подчиняется механизму TRIM.

  5. ZloySega avatar
    ZloySega2 августа 2020
    0

    Это как в старом анекдоте про программиста
    “работает? ничего не трогай!”

  6. Arman Sargsyan avatar
    Arman Sargsyan3 августа 2020
    0

    Простите,а как увеличить объем той же самой виртуальной памяти?

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь