Htop - 使用的 VIRT 内存多于我的存储空间?

Htop - 使用的 VIRT 内存多于我的存储空间?

我主要在 jack-server 中看到这种情况,但我也看到其他进程使用了​​大量虚拟内存。目前,它正在逐步构建数据库(已经持续了几个小时,但这是另一个问题)。

在此输入图像描述

当我看到 jack-server 这样做时,它使用了 1TB,这不是相当我系统上的所有磁盘空间,但非常接近。

这些进程在我的整个磁盘中进行映射的是什么?

答案1

稍微阅读一下以更好地理解每一列,因为它不仅涉及磁盘或内存,还涉及共享库:

VIRT 代表进程的虚拟大小,它是它实际使用的内存、它映射到自身的内存(例如 X 服务器的显卡 RAM)、磁盘上已映射到它的文件的总和(最值得注意的是共享库),以及与其他进程共享的内存。 VIRT 表示程序当前能够访问多少内存。

RES 代表驻留大小,它准确表示进程实际消耗了多少物理内存。 (这也直接对应于 %MEM 列。)这实际上总是小于 VIRT 大小,因为大多数程序都依赖于 C 库。

SHR 指示有多少 VIRT 大小实际上是可共享的(内存或库)。就图书馆而言,这并不一定意味着整个图书馆都是常驻的。例如,如果程序仅使用库中的几个函数,则整个库都会被映射并计入 VIRT 和 SHR,但实际上只有库文件中包含正在使用的函数的部分才会被加载并计入其中根据RES。

我认为你对进化(数据库工作)有疑问,但我无法验证,因为我不使用进化,抱歉

相关内容