我有一个非常奇怪的问题,我很难对根本原因进行诊断。
我有一个Mac Pro(2008、8核2.8 GHz,8800GT)和14 GB的RAM(由于这个问题,最近进行了升级!)。
当我引导系统并登录时,vm_stat / top / Activity Monitor将显示kernel_task已分配了大约150 MB,而计算机已分配了大约800 MB的有线内存。
即使最初,800 MB似乎分配了很多有线内存,而没有运行任何应用程序-但是,情况变得更糟。(注意:有线已锁定,不可交换的内存)
在很短的时间后,有时是由启动终端之类的简单操作触发的,kernel_task将膨胀到8-900 MB的Real Mem(RSIZE),而Wired Memory将加速到1.6 GB(这意味着所有额外的内存请求都针对内核中的有线RAM)。
如果我退出所有内容(即:没有正在运行的应用程序,禁止活动监视器或终端查看顶部),则kernel_task RSIZE或有线内存使用率均不会显着降低。相反,向系统加载任务也表明有线内存不会减少-重要的是,它不会优先于大量交换而减少。
如果我注销并再次登录,它会减少一点(450 MB kernel_task,1.28 GB有线),但不会重新开始。
我没有运行任何古怪的kext秒-和futhermore,kextstat没有显示出巨大的内存分配出现; 最大的是com.apple.nvidia.nv50hal,其内存约为4 MB。
发生这种情况时,机器总体上感觉更加缓慢-毫不奇怪,因为如此大量的RAM被标记为不可分页。
所以我有几个问题:
1)有没有一种好的方法来诊断什么分配了所有此有线内存?它通常是kernel_task大小的2倍以上,不运行任何应用程序。实际的内存总数似乎并没有增加-似乎有一堆RAM并未在任何地方被占用。
2)发生什么情况导致内核突然需要6倍的内存?