Есть ли способ уменьшить swappiness OS X 10.6 Snow Leopard?

10

У меня есть 6 ГБ на моем старом Macbook с SSD. Я хотел бы избежать записи в файл подкачки в максимально возможной степени. С момента моего обновления у меня всегда было по крайней мере от 1 до 1,5 ГБ памяти «свободной». Тем не менее, у меня всегда было от 2 до 25 МБ используемого пространства подкачки. (Из общего объема 128 МБ) Как я могу использовать это подкачку 0 МБ, если у меня не осталось «свободной» памяти?

В Linux теперь есть параметр «swappiness», который контролирует тенденцию использовать swap. Я бы хотел, чтобы «подкачка» OS X была очень-очень низкой, но не отключать обмен полностью. Я хотел бы знать, что моя машина просто будет работать медленнее, если ей когда-нибудь не хватит памяти вместо паники ядра. Я довольно близко к тому месту, где я хочу быть, но я хотел бы избавиться от этих записей в большой файл, который (немного) сокращает срок службы моего SSD, не принося мне никакой пользы.

StCredZero
источник
Понятно, что ты делаешь то, что хочешь, и просишь ответить на этот вопрос - я не буду оспаривать это. Тем не менее, я думаю, что важно прояснить это для менее технически подкованных пользователей: тот факт, что ваша система обменивается, особенно на такое небольшое количество, вовсе не является проблемой, не обязательно источником медлительности, и даже напротив. Операционная система может решить, что некоторые части памяти не будут доступны, и более эффективно превентивно освободить некоторые блоки в оперативной памяти и получить крайне маловероятные ошибки кэширования. OS X очень хорош в этом (см. Использование ОЗУ скрытых приложений).
MattiSG

Ответы:

6

Я не уверен, что файл подкачки от 2 МБ до 25 МБ действительно вызывает беспокойство. Возможно, было бы более полезно взглянуть на значения для Page In и Page Out, чтобы определить, как часто данные записываются в своп. Количество событий страницы можно узнать с помощью вкладки «Системная память» приложения Activity Monitor.

Есть несколько других опций, которые вы можете попробовать, но я думаю, что вы, вероятно, выходите из гарантии, если вы попробуете:

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

Майк Мейерс
источник
Спасибо, но если вы перечитаете мой вопрос, вы обнаружите, что на самом деле есть два файла по 64 МБ каждый. Это не просто от 2 до 25 МБ. Это 128 МБ подкачки и от 2 до 25 МБ. Что меня раздражает, так это то, что общий объем подкачки варьируется от 64 до 128 МБ. Это может указывать на то, что 2-й файл подкачки деактивируется, а затем создается заново. Это много использования диска даром. Я уже знал о двух системных модах, которые вы предложили, и указал, что мне не понравился 1-й. Второй, я считаю, не очень хорошо спроектирован.
StCredZero
Это твой ответ. Отключение динамического пейджера действительно может помочь, но вы действительно рискуете привести к тому, что приложения выйдут из строя, когда у вас закончится оперативная память. Если на самом деле не хватает памяти, то не беспокойтесь.
Дастин
Первая ссылка мертва.
Кенорб
1
Я исправил неработающую ссылку .... хотя этот ответ уже 5 лет и почти 6 версий macOS устарели.
Майк Мейерс
2

Для временного решения вы можете запустить sudo purgeпринудительную очистку и очистку дискового кэша, что может немного уменьшить перестановку (если у вас было несколько больших файлов подкачки /private/var/vm, например, у меня их 17G на момент написания). Если не получится, удалите файлы вручную, они будут воссозданы.

Вы также можете отключить динамический пейджер (демон подкачки), поэтому запустите его в Терминале (требуется перезагрузка):

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

Чтобы снова включить:

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

К сожалению, в последней версии OS X вы также должны отключить SIP ( защита целостности системы ), что на самом деле не рекомендуется. См .: Как отключить защиту целостности системы (SIP) AKA «без рута» в OS X 10.11, El Capitan?

kenorb
источник