Проблемы с пониманием неактивной памяти в MacOSX

Я думал, что понял, как MacOSX управляет памятью, но недавно я был сбит с толку ее производительностью. Вот ситуация:

  1. У меня совершенно новая система Core i7 с 8 ГБ физической памяти под управлением MacOSX 10.6.7.
  2. Есть несколько запущенных приложений, которые регулярно занимают часть памяти - Safari, Mail, Xcode, Терминал и др.
  3. Мне нужно запустить три 64-битных процесса параллельно, каждый из которых использует около 2000 МБ реальной памяти.
  4. Хотя объем проводной памяти остается ниже 1000 МБ (то есть у меня более 7000 МБ доступно для процессов), я вижу тяжелую подкачку активность, приводящая к очень плохой производительности трех запущенных мною процессов, интенсивно использующих память.
  5. По-видимому, у меня не заканчивается доступная оперативная память, поскольку заявленная неактивная память остается около 2500 МБ, а активная память не превышает 5000 МБ.

Может ли кто-нибудь объяснить мне, почему MacOSX не освобождает неактивную память для процессов, которые в ней нуждаются, вместо этого прибегая к подкачке страниц? Кроме того, есть ли какой-нибудь правильный способ повлиять на управление памятью в системе?

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

9
задан Ventzi Zhechev 31 March 2011 в 22:05
поделиться