如何在htop中读取内存使用情况?


30

这是我的htop输出:

在此处输入图片说明

例如,我对以下Ruby脚本感到困惑:

在此处输入图片说明

它使用多少物理内存?3+1+8+51+515151+51


然后,该RES列就是您要查看的列。
David Schwartz

是的,我在看。但是我的脚本使用的内存是哪一个?为什么有两个51S?它消耗102兆字节吗?还是只有51兆字节?在外部过程RES包含在内过程RES,为什么318都比较少51
赖玉轩

2
因为过程分叉,所以有两个51。它很可能不会消耗102兆字节,因为两个进程各自使用相同的51兆字节,但是您不容易分辨。如果该内存也驻留在另一个进程中,则另一个进程RES包含内部进程,如果不是,则包含该内部进程。RES字段告诉您每个进程正在使用多少物理内存,但是其他进程可能(也可能不)使用相同的物理内存。
David Schwartz 2013年

1
如果您想知道两个进程是否使用相同的内存,请使用pmap -d <进程ID>
Sirch 2013年

1
@ LaiYu-Hsuan:是的,你错了。页面不会被复制,它们是共享的。仅当任一进程写入页面时才复制它们,然后必须取消共享它们。(这称为“写入时复制”或“ CoW”。)
David Schwartz

Answers:


45

隐藏用户线程(shift + H)并关闭进程树视图(F5),然后您可以按PID排序您感兴趣的进程,并读取RES列(按Shift + M或MEM3以MEM%进行排序以进行搜索在cmd行中)


4
Shift-H是我多年来一直在寻找的东西。谢谢!
带薪的书呆子

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.