пятница, 7 октября 2011 г.

Отключаем swap в Mac OS X Lion

Решил я обновить свой MBP до новой операционки Apple, что и сделал - ещё месяц назад. Правду говорят, что дьявол в мелочах: очень она мне полюбилась (особенно то, как приложения стали разворачиваться на весь экран, теперь между ними можно четырьмя пальцами переключаться; несколько новых рабочих столов - тоже огроменный плюс, в общем, много всего вкусного появилось).
Но жажда чего-то нового берет своё, да и надоело читать в интернете восторженные отзывы наподобие: "у меня всё просто летает!" или "вот это скорость работы! Никогда такого не видел!", в то время как сам я наблюдал некоторые подтормаживания ОС, причем даже там, где этого быть ну вообще никак не должно.
Собственно, я не первый такой, и бутылочное горлышко известно: это жесткий диск. Сам по себе он не так уж и плох, но в те моменты, когда система использует файл подкачки (swap) - начинается пытка.
Его я и решил отключить.

В MacOS Snow Leopard  это делалось простой командой:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
но, меня ждал небольшой облом...
Однако в System Monitor было четко сказано, что swap используется.
Оказывается, в Lion swap отключается по-другому (по умолчанию, файл подкачки в Lion шифруется, и если вы хотите его оставить, но убрать шифрование, что по идее должно привести к небольшому ускорению системы - то вы можете воспользоваться только первой командой):
sudo defaults write /Library/Preferences/com.apple.virtualMemory UseEncryptedSwap -boolean no
sudo defaults write /Library/Preferences/com.apple.virtualMemory DisableEncryptedSwap -boolean yes

Потребуется перезагрузка! После перезагрузки - вуаля, и swap не работает. Проверить, зашифрован ли файл подкачки, и используется ли он вообще,- можно командой:
sysctl vm.swapusage

Вот как было у меня до отключения (сразу после загрузки ноутбука):
А вот как стало после отключения:
За те четыре дня, которые я использовал ноутбук в таком режиме - расход оперативной памяти и близко не подобрался к граничному объёму. 
В принципе, разница заметна, но не сразу. Мне кажется, что это связано с тем, что подсознательно я думаю, что так оно и должно было работать: тормоза (подтормаживания) исчезли, и теперь ничто не мешает мне наслаждаться работой за ноутбуком.
Думаю, что не стоит напоминать о том, что необходимо быть уверенным в количестве оперативной памяти, которая установлена у вас на ноутбуке: ведь теперь для нее нет послаблений, потому что верный ей swap мы зверски запретили.
Кстати, в самых ближайших планах заменить стандартный hdd на твердотельный накопитель, и уже войти в настоящую нирвану работы за Mac OS Lion, но пока я прицеливаюсь, чтобы не купить плохого, да и не переплатить за скорость, которую MBP 2010 года не сможет целиком поддержать. Но это будет моя следующая (аж вторая) статья.
Как говорится - coming soon.

20 комментариев:

d1i1m1o1n комментирует...

Чем опасно отключение swap?

Unknown комментирует...

Если расход оперативной памяти выйдет за пределы размера ОЗУ, то настанет kernel panic - иначе говоря, компьютер зависнет "намертво" и его придется выключать кнопкой питания. Но при размере памяти от 6 Гб - вероятность этого сводится минимуму. Если памяти ещё больше - то вероятность почти нулевая.
Но 4 Гб для отключения swap - это откровенно мало, поэтому нужно быть уверенным в достаточном объеме оперативной памяти.

e11it комментирует...

Имею MBP2010 и считаю, что лучше потратить 1500рэ на 2х4Г памяти crucial, чем отключать swap. Это глупо.
По поводу SSD, поставил вторым винтом crucial m4, прирост скорости поразительный. Профиль пользователя, swap и sleepimage вынес на HDD.

Unknown комментирует...

У меня тоже MBP 2010 года (13"), только я по-ошибке купил не ту память, и поэтому у меня не 8 желанных, а только 6 полученных гигабайт памяти, но и этого мне за глаза хватает, хотя я, в принципе, любитель пофотошопить или погонять iMovie, да ещё и имея при этом открытый chrome (который память кушает - мама не горюй!). И, в принципе, потребление более чем до 4,5 Гб не дорастало.
Глупо это или не глупо - решать, пожалуй, каждому отдельно, потому что свопится далеко не всегда из-за лимита ОЗУ. И это меня раздражало. Как будет вести себя система дальше - покажет время, но пока что я доволен, и система абсолютно стабильна.
Кстати, а куда вы поставили второй ж/д? Вместо привода?

e11it комментирует...

Да, поставил вместо привода.(http://goo.gl/79SsT)
Салазок на 1.8" не нашел, пришлось кустарить из 2.5"

RVZ комментирует...

я на 10.7.2 смог выключить свап только перенеся файл "com.apple.dynamic_pager.plist" из "/System/Library/LaunchDaemons" куда-то в другое место (можно просто удалить, но лучше забекапить:))

RomeoWhiskey комментирует...

Разрешите ламерский вопрос: при введении команды (делаю копи-паст) sudo defaults write /Library/Preferences/com.apple.virtualMemory UseEncryptedSwap -boolean no запрашивается пароль. Пароля у меня на аккаунте нет. Просто нажимаю энтер - не помогает. Подскажите пожалуйста, что нужно сделать, что сработало? )

Markovsdima комментирует...

Нужно создать пароль аккаунта. Без него никак.

Unknown комментирует...

К сожалению да, действительно решений в первом приближении без создания пароля не видно. На сайте Apple про это даже написано: http://support.apple.com/kb/HT4103?viewlocale=ru_RU

RomeoWhiskey комментирует...

В том и дело, что назначил пароль, ввожу, нажимаю энтер, в ответ - неверный пароль...

RomeoWhiskey комментирует...

получилось) Пароль "прошёл". Результат - снова голая командная строка. Это означает что команда была исполненна и шифрование файла подкачки отключено?

Unknown комментирует...

Да, если не появилось никаких сообщений в консоли, и снова мигает курсор, то команда успешно выполнилась.

RomeoWhiskey комментирует...

Значит всё Оки. Вроде бы никакого явного прироста производительности не замечено) Но тупить стало возможно меньше. Блин, хоть но Сноу Леопарда откатывайся ((

iamkotok комментирует...

Вот может подскажите, все пользователи Linux заявляют, что им хватает и 1 Гб памяти и ничего не виснет и летает все. Сам ставил Ubuntu на ноут временем первой мировой и действительно работало все быстро. Вот как то Mac несколько разочаровывает меня. Теперь вот читаю везде - мол отключите swap он мешает, но почему в линуксе он не мешает? ведь обе системы на одном ядре почти!!

Unknown комментирует...

Я ради интереса запускал Lion с 1 Гб памяти: операционная система запустилась (правда не так проворно) работала. При этом после загрузки количество занятой оперативной памяти было около 400 Мб. Я тут же выключил ноутбук - поменял планки памяти, и снова запустил ноут, но на этот раз в нём было 8 Гб памяти. После загрузки было "съедено" больше одного гигабайта. Выводы можно делать какие угодно.
А прямого ответа на ваш вопрос не знаю, увы... Кстати, я больше не маковод, и исповедую Ubuntu + Unity :)

iamkotok комментирует...

вот как раз сейчас был полный хаос с ноутом, свободной памяти 30 метров, три гига с лишним зарезервировано... система просто зависла на пару минут, то есть придется щас включить файл подкачки иначе система просто будет периодически умирать((((( выход один - ставить ssd, а это сейчас около шести тысяч!!! черт, вот вам и мак!!! я уже понял что лучше было купить мощный ноут и на него влепить убунту.

Конечно может все изза Parallels Desktop все висит, то есть винда ХР.. но туда теоретически уходит только гигабайт оперативно памяти...

Может хотя бы подскажите как под маком запускать приложения виндоус чтобы как минимум системы напрягать??

iamkotok комментирует...

Отключил винду, освободил 1,2 гига. На маке запущено два приложения - хром с 5 вкладками и скайп, почти три гига оперативы все равно уходят непонятно куда(((

Unknown комментирует...

iamkotokMar 9, 2012 06:12 AM
"вот как раз сейчас был полный хаос с ноутом, свободной памяти 30 метров, три гига с лишним зарезервировано... система просто зависла на пару минут, то есть придется щас включить файл подкачки иначе система просто будет периодически умирать((((( выход один - ставить ssd, а это сейчас около шести тысяч!!! черт, вот вам и мак!!! я уже понял что лучше было купить мощный ноут и на него влепить убунту.

Конечно может все изза Parallels Desktop все висит, то есть винда ХР.. но туда теоретически уходит только гигабайт оперативно памяти...

Может хотя бы подскажите как под маком запускать приложения виндоус чтобы как минимум системы напрягать??"

13" MBP Mid2010 / 8Gb / 500Gb HDD
10.7 работает как часы :) Один нюанс... сожранная память это результат кривых программ :)
Чуток о работе памяти тут : http://itux.idev.pro/2011/03/iservice-чистка-использованной-памяти-speedup/

Анонимный комментирует...

А как swap снова включить????? OS Lion

Unknown комментирует...

Вероятно, подойдет команда
sudo defaults write /Library/Preferences/com.apple.virtualMemory DisableEncryptedSwap -boolean no
Но я сам ее не пробовал.