我有一个进程报告’顶部’它有6GB的驻留内存和70GB的虚拟内存分配.奇怪的是,这个特定的服务器只有8GB的物理空间和35GB的可用交换空间.
从“顶部”手册:
o: VIRT -- Virtual Image (kb) The total amount of virtual memory used by the task. It includes all code,data and shared libraries plus pages that have been swapped out. (Note: you can define the STATSIZE=1 environment vari- able and the VIRT will be calculated from the /proc/#/state VmSize field.) VIRT = SWAP + RES.
鉴于这种解释,我希望进程的虚拟内存分配仅限于我可用的交换物理内存.
根据’pmap’,这个过程的代码,共享库和共享内存部分都是最小的 – 不超过300M左右.
显然,机器和过程仍然正常运行(尽管速度很慢),所以我在这里缺少什么?
解决方法
它可能是需求零内存,它不在物理内存中,也不在页面文件中.
您可能想要查看的一些资源:
> http://www.gitam.edu/eresource/comp/gvr(os)/13.6.htm
> http://linux.derkeiler.com/Newsgroups/comp.os.linux.development.system/2006-11/msg00176.html
您的应用程序是否会创建大量空内存页面?如果是这样,您的应用程序可能会从以