У пользователей операционной системы Mac OS X с относительно небольшим по современным меркам объемом оперативной памяти (4 Гб и менее) при работе с большим количеством ресурсоемких приложений может наблюдаться ситуация постепенного замедления работы компьютера. Если посмотреть в такие моменты на данные, которые показывает утилита «Мониторинг системы» из раздела служебных программ, то можно будет отметить практически полное отсутствие свободной памяти.
В окне мониторинга системы обратите внимание на количество неактивной памяти. Неактивная память — это часть оперативной памяти, занятая уже закрытыми приложениями. Здесь вполне логичным будет вопрос — почему не освобождаются ресурсы от уже закрытых программ?
Дело в том, что в работу операционной системы заложен такой алгоритм, что она как бы ожидает повторного открытия данных программ и держит в памяти большую часть их данных, что позволит ускорить их повторный запуска и последующую работу.
Поэтому, при необходимости, неактивная память, в отличие от других типов памяти, может быть очищена без каких-либо заметных последствий для текущей работоспособности компьютера.
Очистить оперативную память в Mac OS X можно если запустить терминал и в его окне от имени текущего пользователя выполнить следующую команду:
purge
После выполнения команды компьютер на насколько секунд задумается и очистит неактивную память. На открытые программы данная команда не влияет, работу системы не нарушает. Происходит только практически освобождение компьютера от какой-то части неактивной памяти.
На рисунках ниже показан результат однократного запуска данной программы. Как видно из приведенных данных в результате работы purge объем свобойной оперативной памяти увеличился с 4,19 до 4,88 гигабайт.
Утилита purge устанавливает в составе комплекта программ для разработчиков Xcode. Поэтому, если у вас при запуске команды в терминале получается одно из следующих сообщений:
~bash: purge: command not found
или
Unable to purge disk buffers, error #-1
то это означает, что Xcode у вас не установлен. Вы можете загрузить его с официального сайта Apple из раздела для разработчиков, предварительно там зарегистрировавшись. Или установить Xcode с диска, который прилагался к ноутбуку или стационарному компьютеру Apple при его приобретении.
На 64-битных системах для успешной работы purge потребуется Xcode 3.2.3 и старше. В противном случае вы будете получать предупреждение об ошибке:
WARNING: Could not determine processor information.
WARNING: Could not determine memory controller information.
WARNING: Could not determine Operating System information.
WARNING: Could not determine memory controller information.
WARNING: Could not determine Operating System information.
Чтобы очистка неактивной памяти происходила в автоматическом режиме, можно создать повторяющееся по расписанию задание Cron следующего содержания:
/usr/bin/purge | say 'Memory' + 'Free'
Кроном из командной строки в Mac OS пользоваться не очень удобно. Гораздо приятнее это делать с помощью замечательной надстройки над Cron в виде небольшой утилиты под названием CronniX, которая обладает простым, интуитивно понятным и приятным графическим интерфейсом для создания задний по расписанию в Macintosh.
Для очистки неактивной оперативной памяти в Mac OS X существует также великое множество небольших программ с приятным графическим интерфейсом: MemoryFree, SmartMemoryCleaner. Данные программы выполняют ту же самую работу, что и purge, только в более наглядном виде.