在 Linux 中使用 ps 查看内存使用情况

在 Linux 中使用 ps 查看内存使用情况

我正在尝试比较我的程序和示例程序之间的内存使用情况,该示例程序是使用 Linux 中的 ps 给出的

我的示例是用 c++ 编写的,我不确定如何在 linux 中使用 ps 来比较这两个程序使用了多少内存,非常感谢

答案1

你可以使用以下命令查看 Linux 中每个进程使用了​​多少内存

top | grep <name>

通常,如果您想列出所有正在进行的进程的统计信息,则可以使用“top”命令,而无需创建管道。

top

...输出类似这样的内容:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1050 root      20   0  350m 125m  89m R   82  6.3   4288:11 Xorg                                                                                            
4633 kocko     20   0  972m 309m  28m R   28 15.4   1677:33 amarok                                                                                          
30624 kocko     20   0 1044m 225m  28m S   12 11.2   3:03.23 eclipse                                                                                         
31356 kocko     20   0  434m  60m  22m S    2  3.0 603:29.59 chrome                                                                                          
 1678 kocko     20   0 42972 7480 4764 S    2  0.4 146:14.10 compiz    

答案2

你可能应该研究一下类似的分析工具瓦尔格林德用于内存分析。如果我没记错的话,Linux 内存管理器会在需要时向进程添加新内存,但会将不需要的内存分页而不是释放。因此,如果您使用类似free和的工具,ps您会发现本来不存在的内存泄漏。

更新 - 可能是ps 而不是内存管理器这就是“错误”所在。

相关内容