У мене дуже дивна проблема, яку мені важко діагностувати як причину.
Я маю Mac Pro (2008, 8-ядерний 2,8 ГГц, 8800GT) з 14 ГБ оперативної пам'яті (нещодавно оновлено з-за цієї проблеми!).
Коли я завантажу систему і ввійду в систему, vm_stat / top / Activity Monitor покаже, що kernel_task має виділено близько 150 МБ, і машина має близько 800 МБ пам'яті Wired, що виділяється.
Навіть спочатку, 800 Мб здається величезною кількістю дротової пам'яті, яку можна виділити без запущених додатків - але все гірше. (NB: Дротовий заблокований, незмінний пам'ять)
Через дуже короткий час, іноді викликаний чимось простим, як запуск терміналу, kernel_task розгорнеться до 8-900 Мб Real Mem (RSIZE), а Wired Memory прискорить до 1,6 ГБ (це означає, що всі додаткові запити пам'яті дротової оперативної пам'яті в ядрі).
Якщо я закриваю все (I.E: немає запущених додатків, забороняє монітор активності або термінал для перегляду верхньої частини), не спостерігається помітного зменшення чи kernel_task RSIZE, або використання Wired Memory. Перехід у зворотний шлях, а завантаження системи з завданнями також показує, що проводова пам'ять не зменшується - а головне вона не знижується в перевазі перед важкою перестановкою.
Якщо я вийду з системи і знову увійду в систему, це зменшить біт (450 MB kernel_task, 1.28 GB Wired), але не повертається до початку.
Я не запускаю жодного дурного kext s - і, крім того, kextstat не показує там величезної кількості пам'яті; Найбільша з них - com.apple.nvidia.nv50hal на 4 Мб пам'яті.
Машина відчуває себе в цілому більш млявою, коли це сталося - не дивно, тому що така величезна кількість оперативної пам'яті була позначена як незмінна.
Тому у мене є кілька запитань:
1) Чи є хороший спосіб діагностувати те, що виділило всю цю дротову пам'ять? Часто це вдвічі перевищує розмір kernel_task. Справжній обсяг пам'яті, здається, не складається - здається, що є купа оперативної пам'яті, яка не враховується ніде.
2) Що відбувається, щоб ядро раптово вимагало в 6 разів більше пам'яті?