当谈到 RES 内存时,我应该信任 htop 还是 top?

当谈到 RES 内存时,我应该信任 htop 还是 top?

我正在编写一个程序来测试我们系统上的一些内存使用指标,我想达到目标内存消耗。meminflate.exe -G 103.1如果您想占用103.1 GB内存,可以通过执行我的程序。

当我运行 时meminflate.exe -G 63.3,我看到顶部显示VIRT63.5(好吧,相差不大),但RES显示63top并且它显示63.5htop。我应该相信哪一个?我认为这htop是正确的,但我想知道为什么那里会有差异。

答案1

您可以从以下位置获取 Rss(驻留集)的确切字节数/proc/<pid>/stat

echo $(($(cat /proc/$(pgrep -n meminflate.exe)/stat | cut -d' ' -f24)*4096))

解释一下:这读作/proc/<pid>/stat(此处使用 找到 PID 编号pgrep),用于cut仅选择第 24 个字段(Rss)。然后将结果乘以 4096(Linux 上的正常页面大小)。您也可以只将其乘以 4 以获得 kiB 中的大小,或将其除以 256 以获得 MiB 中的大小。

相关内容