Copyright © 2010 Алексей Алимкин.
Прежде чем вы прочтете статью, текст которой опубликован ниже, рад сообщить вам, что Олег Фоминов, ведущий IT-специалист, сертифицированный компанией Apple по нескольким профессиональным направлениям, еще раз в очень вежливых выражениях доказал мне мою неправоту и, мягко говоря, полное отсутствие знаний, насквозь пропитавшее текст данной статьи, и обещал до Нового Года дать полное человеческое разъяснение того, как же все-таки операционная система Mac OS X 10.6 Snow Leopard справляется с распределением оперативной памяти (а пока он объяснил разницу работы девелоперской и пользовательской ситем «разными алгоритмами распределения памяти»). С нетерпением будем ожидать его статьи!
Много лет утекло с того момента, как компания Apple официально «похоронила» операционную систему Mac OS 9 и мы все в добровольно-принудительном порядке вынуждены были перейти на использование «самой лучшей, прекрасной, надежной, супер-оптимизированной, многозадачной и так делее...» операционной системы Mac OS X (просьба не путать ни в чем не повинную букву «икс» с очередным номером «десять» операционной системы, выраженной римской цифрой X). И все это время меня и моих друзей не просто беспокоила, а бесконечно доставала неуемная прожорливость системы по отношению к оперативной памяти компьютера, связанная с динамическим распределением памяти, присущим всем многозадачным операционным системам. Сколько бы физической памяти не было установлено на вашем компьютере — системе ее никогда не хватает. Это в равной степени касается как установленных 2GB оперативной памяти (RAM), так и 16GB. Казалось бы, появление на свет новой, 64-разрядной системы Mac OS X 10.6 Snow Leopard должно было бы решить накопившиеся проблемы. Ан, нет! По-прежнему, кэш неактивной памяти сам собой постепенно заполняет всё свободное пространство в RAM, даже если у вас на компьютере запущен только Finder. Совершенно случайно на днях я запустил Macbook Pro 17 с новейшим процессором i5 и оперативной памятью 8GB и, по ряду причин, обратил на него внимание только несколько часов спустя. Объем неактивной памяти (inactive memory) составил... 6GB! Именно этот случай и послужил толчком к тому, что «надо что-то делать и как-то решать этот вопрос». Как издревле известно, «случайность — это хорошо подготовленная закономерность». Как только вы четко определяете в своей голове конкретную задачу, тут же «случайно» находится несколько способов ее решения. Так чего же мы ждем? Вперед! Со словами
Свободу «несвободной»памяти!
Решая какую-либо проблему с программным обеспечением, вполне естественным сначала будет обратиться к документации этого программного обеспечения, поскольку обожаемый нами народный «метод тыка», к сожалению, применим далеко не во всех ситуациях. В нашем случае мы пытаемся разобраться с тем, каким образом оперативная система Mac OS X 10.6.x Snow Leopard управляет работой оперативной памяти компьютера — RAM. Давайте обратимся к папке Utility (Служебные программы) на системном диске вашего компьютера, найдем в ней и запустим служебную программу Activity Monitor (Мониторинг системы).
Примечание: Текст в меню, а также названия приложений и служебных программ, установленных на вашем системном диске инсталляционным диском операционной системы Mac OS X 10.6 Snow Leopard, изменяются в зависимости от языка, установленного первым в списке языков в разделе Language (Язык) панели Language & Text (Язык и текст).
Запуск служебной программы Activity Monitor (Мониторинг системы)
1В Finder в меню Go (Переход) выберите Utilities (Служебные программы) или нажмите Shift-Command-U.
2В открывшемся окне быстро наберите первые две буквы названия приложения (в системе с первым языком, выбранным английским, наберите буквы A и C, с русским — М и О).
Выделяется значок приложения Activity Monitor (Мониторинг системы).
3Двойным щелчком по значку приложения запустите Activity Monitor (Мониторинг системы).
Прежде, чем обратиться к нужному нам разделу графического интерфейса служебной программы Activity Monitor (Мониторинг системы), давайте запустим ее Help (Справку) и попытаемся найти нужную нам тему.
Чтобы запустить Help (Справку) служебной программы Activity Monitor (Мониторинг системы)
1Убедитесь, что вы находитесь в активном приложении Activity Monitor (Мониторинг системы)(название активного приложения отображается справа от меню Apple () в левом верхнем углу вашего монитора).
2В меню Help (Справка) выберите Activity Monitor Help (Справка Мониторинга системы).
Запускается приложение Help (Справка) и открывается окно Activity Monitor Help (Справка Мониторинга системы).
3В правой части окна, в нижней части раздела Featured Topics (Важные темы) щелкните по ссылке Show all Activity Monitor topics (Показать все разделы Мониторинга системы).
4Найдите в списке разделов ссылку на тему Viewing system memory usage (Просмотр использования системной памяти) и щелкните по ней.
Запускается окно с нужным нам разделом Viewing system memory usage (Просмотр использования системной памяти).
Несмотря на то, что переводчики компании Apple в большинстве случаев справляются с переводом документации на русский язык, в данном случае пришлось немного подкорректировать текст, чтобы стали понятны некоторые упущенные при переводе нюансы. Итак, сначала ознакомимся с откорректированным текстом официальной Справки Мониторинга системы, а уже потом будем думать, как решать нашу проблему.
Просмотр использования системной памяти
Mac OS X оснащена системой управления памятью, которая позволяет одновременно работать с несколькими программами и документами большого размера, не испытывая при этом недостатка в объеме памяти. Вы можете использовать служебную программу Activity Monitor (Мониторинг системы), чтобы видеть, как системная память распределяется на Вашем компьютере. Открывая, закрывая или используя программы, Вы можете наблюдать за изменением распределения памяти.
Чтобы посмотреть, как используется системная память:
•Щелкните по кнопке System Memory (Системная память) в панели инструментов.
Ниже приводится объяснение информации, отображаемой внизу панели системной памяти:
Wired (Зарезервированная): Зарезервированная память представляет собой информацию, которая не может быть помещена в кэш на диске и всегда должна оставаться в RAM. Ее объем зависит от того, какими программами Вы пользуетесь.
Active (Активная): Активная память — это активно используемая память, находящаяся в данный момент в RAM.
Inactive (Неактивная): Неактивная память уже не используется и помещена в кэш на диске. Она остается в RAM до тех пор, пока память не будет востребована какой-либо другой программой. Размещение этой информации в RAM является удобным, если Вы (или клиент Вашего компьютера) вернетесь к ней впоследствии.
Used (Используемая): Память, используемая процессом и не доступная в данный момент.
Free (Свободная): Свободная память — это память, которая не находится в использовании и доступна в настоящий момент.
VM size (Размер виртуальной памяти): Виртуальная память — это пространство на жестком диске, которое может использоваться в качестве памяти. Размер виртуальной памяти — это объем пространства жесткого диска, используемый в качестве памяти. Mac OS X может использовать бóльший объем памяти, чем объем физической RAM, которым Вы располагаете. Жесткий диск работает значительно медленнее, чем RAM, поэтому система виртуальной памяти автоматически распределяет информацию между пространством на диске и RAM для обеспечения оптимальной производительности.
Page ins/outs (Загрузка/выгрузка страниц): Количество перемещений информации операционной системой Mac OS X между RAM и пространством на диске.
Примечание: Цвета, используемые в графике, можно изменить, щелкнув по цветному квадрату, расположенному рядом с каждым из показателей состояния памяти.
Прочитав этот документ и посмотрев на реальное распределение оперативной памяти, отображаемое в нижней части окна приложения Activity Monitor (Мониторинг системы), становится тоскливо и грустно, и начинают одолевать ностальгические воспоминания о том, «как все было просто и надежно в системе Mac OS 9». Но... Прошлого не вернуть, и нам просто надо предпринять ряд усилий, чтобы каким-то образом решить проблему нехватки памяти, а именно, найти способ бороться с ненужной лично нам неактивной памятью, которая как раковая опухоль пожирает практически всю нашу имеющуюся свободную память.
Забегая вперед, скажу одно: все программисты, к которым я на протяжении нескольких лет обращался с этой проблемой, непонимающе пожимали плечами и говорили, что у них никакой проблемы нет. В конце концов, сопоставив очевидные факты (с одной стороны — простые пользователи, а с другой — программисты), я решил выяснить — а в чем же все-таки состоит это непонимание? Все оказалось до банальности простым: у всех программистов, в отличие от простых пользователей, в системе установлены так называемые developer tools (инструментарий для разработчиков), а именно, программный пакет, называемый Xcode. Стоило мне «случайно» установить Xcode, как все проблемы с памятью чудесным образом улетучились. (Установить мне его понадобилось только лишь для того, чтобы получить доступ к панели Processors, позволяющей отключать «лишние» для работы с аудио-материалом процессоры. Но об этом — в следующий раз).
Внимание: Не являясь программистом и сертифицированным специалистом по операционной системе Mac OS X, я установил пакет Xcode в качестве найденного опытным путем своего собственного решения проблемы. На данный момент никто из специалистов не смог ответить, в чем состоит такое странное различие поведения «чистой» пользовательской системы и системы с установленным Xcode. Как только наша команда выяснит это у представителей Apple и у специалистов IT, мы тут же информируем тех, кто постоянно читает наш раздел МЕЛОЧИ ЖИЗНИ. Установка Xcode занимает довольно большое место на системном диске компьютера и его установка является личным выбором каждого из пользователей.
Для тех же, кто все-таки решится это сделать:
1.Вставьте инсталляционный диск Mac OS X 10.6 в дисковод вашего компьютера
2.Откройте папку Optional Installs (Дополнительные установочные пакеты)
3.Запустите установщик Xcode.mpkg и установите пакет с настройками по умолчанию
После завершения установки пакета запустите Software Update (Обновление программ) и установите все последние обновления.
Так в чем же все-таки состоит различие в поведении этих двух систем? В случае с «чистой» пользовательской системой в большинстве случаев область, занимаемая в RAM неактивной памятью, разрастается до неприличных размеров (например, в случае, когда у вас одновременно открыто несколько страниц в Safari), и очистить эту область помогает только лишь перезагрузка системы (не помогает даже использование приложения iFreeMem, о котором речь пойдет чуть позже). После установки Xcode система начинает вести себя ожидаемым образом, а именно, область неактивной памяти занимает на порядок меньший объем, а самое главное, она автоматически изменяет свой размер в зависимости от запускаемых приложений, и, что еще важнее, может практически полностью очищаться без принудительной перезагрузки системы.
Сразу хочу сказать, что следующая часть статьи ни в коем случаем не является рекламой приложения iFreeMem. Отношение к этому приложению у разных людей далеко неоднозначное. Более-менее продвинутые пользователи успешно докажут вам, что оно «абсолютно ничего не делает, а только выкачивает деньги из карманов доверчивых и неграмотных пользователей!» Конец цитаты. В переводе на язык «неграмотных пользователей» это означает, что данное приложение позволяет очищать неактивную область оперативной памяти и дефрагментировать свободную память при помощи одной большой кнопки, которая всего лишь выполняет команду, которую продвинутые пользователи могут применять в приложении Terminal (Терминал):
sudo purge
Опять же, с небольшой оговоркой: для успешного выполнения этой команды у вас должен быть установлен пакет Xcode.
Тогда для чего же мы рассматриваем работу этого приложения? Несмотря на то, что меня назвали, мягко говоря, «неграмотным юзверем», я пользуюсь этим приложением просто в целях экономии своего времени: я постоянно вижу цветной значок iFreeMem в главном меню своего компьютера (для этого нужно изменить настройки отображения значка в iFreeMem) и моментально решаю проблему с накопившейся неактивной памятью, не прибегая к помощи Терминала.
И вторая причина, по которой мы рассмотрим небольшое описание этого приложения, состоит в том, что автор сумел в двух словах объяснить то, чего не смогла сделать официальная Справка. Идем на сайт компании Activata.co.uk и читаем описание работы приложения
iFreeMem
iFreeMem восстанавливает память для использования ее в ваших приложениях и позволяет избежать падения производительности в случае, когда у вас заканчивается свободная память.
Воскресите вашу память
iFreeMem высвобождает память из кэша неактивной памяти (inactive memory), которая накапливается с каждым файлом или приложением, считываемым в RAM с жесткого диска.
Кэш — это, конечно, хорошо, но он может забиваться файлами, которые вам даже не нужно больше кэшировать, и которые занимают драгоценное место в оперативной памяти (RAM) вашего компьютера.
Максимальный объем свободной памяти иногда может быть гораздо лучше, чем половина памяти, заполненная старыми файлами из кэша.
Избавьтесь, наконец, от назойливого «пляжного мячика»
Если ваша работа с приложением находится в самом разгаре, а система на несколько секунд перестает отвечать на запросы, то, скорее всего, это менеджер памяти восстанавливает кэш-память для вашего приложения.
Функция оптимизации приложения iFreeMem как раз и состоит в том, чтобы быстро и легко либо обновить, либо перезагрузить оперативную память для достижения дефрагментации свободной памяти.
Распределение оперативной памяти до и после использования iFreeMem.
В завершение данной статьи хочется добавить, что с установленным на Macbook Pro 13 пакетом Xcode (со штатными 2GB RAM!) без каких либо нареканий стало работать приложение Logic Pro, которое до этого постоянно выдавало различные предупреждения!
Источник: сайт Activata.co.uk
Загрузить ознакомительную версию: iFreeMem 3.5.0
Дополнительная информация:
1.Свободная энциклопедия Википедия:
2.Служба технической поддержки компании Apple. Mac OS X Memory Management.
Copyright © 2010 Apple Inc. All rights reserved.
Copyright © 2010 Перевод Алексей Алимкин.
18 декабря 2010 г.
МЖ #13: Свободу «несвободной» памяти!
Оперативная память
RAM
Часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции и время доступа к которой не превышает одного его такта.
Copyright © 2009 www.macsound.ru All rights reserved.
Site www.macsound.ru is an Independent Information site.
The site is not affiliated with Apple Inc. and other companies.
All trademarks, product names, and company names and logos
appearing on this web site are the property of their respective owners.
Site www.macsound.ru makes no guarantees regarding any of the advice
offered on this web site or by its staff or users.