我有一个进程报告’顶部’它有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
您的应用程序是否会创建大量空内存页面?如果是这样,您的应用程序可能会从以
> http://code.google.com/p/compcache/(实验)
它允许您在实时内存页面中压缩和解压缩.反过来,您可以将所有内容保存在RAM中而不是交换到磁盘(非常慢).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。