Bel*_*lly 9 linux virtual-memory
我有一个进程在“top”中报告它分配了 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.
Run Code Online (Sandbox Code Playgroud)
鉴于这种解释,我希望进程的虚拟内存分配仅限于我的交换 + 可用物理内存。
根据'pmap',这个进程的代码、共享库和共享内存部分都是最小的——不超过300M左右。
显然,机器和过程仍然正常运行(虽然很慢),那么我在这里错过了什么?
它可能需要不在物理内存或页面文件中的零内存。
您可能想查看的一些资源:
您的应用程序是否创建了大量空内存页?如果是这样,您的应用程序可能会从以下方面受益匪浅:
它允许您在实时内存页面中压缩和解压缩。反过来,您可以将所有内容保存在 RAM 中,而不是交换到磁盘(非常慢)。
| 归档时间: |
|
| 查看次数: |
12688 次 |
| 最近记录: |