了解虚拟内存使用情况>在Linux上交换物理

我有一个进程报告’顶部’它有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中而不是交换到磁盘(非常慢).

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...