У меня очень странная проблема, с которой мне сложно определить причину.
У меня есть Mac Pro (2008, 8-ядерный 2,8 ГГц, 8800GT) с 14 ГБ ОЗУ (недавно обновленный из-за этой проблемы!).
Когда я загружаю свою систему и захожу в систему, vm_stat / top / Activity Monitor покажет, что в kernel_task выделено около 150 МБ, а на машине выделено около 800 МБ выделенной проводной памяти.
Даже на начальном этапе 800 МБ кажутся огромным количеством проводной памяти, которая должна быть выделена без запуска приложений, но становится еще хуже. (Примечание: проводная связь заблокирована, память не удаляется )
Через очень короткое время, иногда вызываемое чем-то простым, например, запуском терминала, kernel_task увеличится до 8-900 МБ Real Mem (RSIZE), а проводная память ускорится до 1,6 ГБ (подразумевая, что все дополнительные запросы памяти предназначены для проводная оперативная память в ядре).
Если я закрою все (IE: нет запущенных приложений, заблокирую монитор активности или терминал для просмотра сверху), то не произойдет заметного сокращения ни kernel_task RSIZE, ни использования проводной памяти. Если пойти в обратном направлении и загрузить систему задачами, это также показывает, что проводная память не уменьшается, и, что важно, она не уменьшается в зависимости от интенсивной замены.
Если я выйду из системы и снова войду в нее, это немного уменьшится (450 МБ kernel_task, 1,28 ГБ Wired), но не обратно.
Я не запускаю никаких дурацких kext s - и, кроме того, kextstat не показывает там огромного распределения памяти; самое большое из них - com.apple.nvidia.nv50hal с объемом памяти около 4 МБ.
Машина чувствует себя в целом более вялой, когда это произошло, что неудивительно, потому что такой огромный объем оперативной памяти был помечен как нестраничный.
Итак, у меня есть несколько вопросов:
1) Есть ли хороший способ диагностировать, что выделило всю эту проводную память? Это часто более чем в 2 раза превышает размер kernel_task, без запуска приложений. Реальное общее количество памяти, кажется, не складывается - кажется, что есть куча оперативной памяти, которая нигде не учитывается.
2) Что происходит, чтобы заставить ядро внезапно потребовать в 6 раз больше памяти?