我有一个进程在“顶部”报告它具有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.
有了这个解释,我希望为进程分配的虚拟内存仅限于我的swap +可用物理内存。
根据“ pmap”的介绍,此过程的代码,共享库和共享内存部分都非常小-不超过300M左右。
显然,机器和过程仍然可以正常运行(尽管运行缓慢),那么我在这里缺少什么呢?