总结一个程序所有进程的内存使用情况?

Tim*_*Tim 9 process memory

我们如何总结一个程序所有进程的内存使用情况?

例如,我为网页打开了许多 Chrome 标签,每个标签运行不同的进程。如何获得所有 Chrome 标签的内存使用总量?请注意,Chrome 的可执行文件/opt/google/chrome/chrome在我的 Ubuntu 上。

yae*_*shi 7

一种方便的方法是使用atop。在顶部,您可以键入P以查看每个程序的统计信息,如下所示:

                                                                         PAUSED
NPROCS  SYSCPU  USRCPU   VSIZE  RSIZE   RDDSK  WRDSK  SNET  MEM CMD         1/4
    17   1.14s   8.06s   14.3G   2.7G       ?      ?     ?  35% chrome
     1   0.30s   0.30s    2.6G   1.9G       ?      ?     ?  25% Xorg
     1   0.09s   1.15s    1.8G 329.7M       ?      ?     ?   4% gnome-shell
     1   0.00s   0.07s  994.8M 257.2M       ?      ?     ?   3% thunderbird
     1   0.00s   0.00s    1.3G 162.4M       ?      ?     ?   2% soffice.bin
     2   0.00s   0.00s    1.2G 86736K       ?      ?     ?   1% gvim
     1   0.00s   0.01s    1.0G 64724K       ?      ?     ?   1% owncloud
     1   0.00s   0.00s  970.3M 59908K       ?      ?     ?   1% evolution-cale
     1   0.00s   0.00s  675.7M 48404K       ?      ?     ?   1% tracker-extrac
     1   0.03s   0.03s  581.0M 47080K       ?      ?     ?   1% xchat
     2   0.00s   0.00s   84.2G 45292K       ?      ?     ?   1% nacl_helper
Run Code Online (Sandbox Code Playgroud)

键入M每个进程的内存统计信息。

                                                                         PAUSED
  PID MINFLT  MAJFLT VSTEXT   VSIZE  RSIZE   VGROW  RGROW   MEM  CMD        1/5
 1069  38118       0     0K    2.6G   1.9G      0K    40K   25%  Xorg
14702     20       0 91595K  939.1M 427.0M      0K     0K    5%  chrome
 3755     39       0    11K    1.8G 329.7M      0K     0K    4%  gnome-shell
14669   7804       0 91595K    1.8G 293.1M      0K  -136K    4%  chrome
15530    477       0 91595K    1.1G 292.6M  -8196K  -156K    4%  chrome
 3932      6       0    96K  994.8M 257.2M      0K     0K    3%  thunderbird
15436   7434       0 91595K  978.4M 228.5M  -1024K  -212K    3%  chrome
14821   2129       0 91595K    1.0G 220.2M   1024K  1936K    3%  chrome
15084    213       0 91595K  890.7M 211.9M      0K     0K    3%  chrome
15129     58       0 91595K  915.4M 208.1M      0K     0K    3%  chrome
14729     13       0 91595K    1.1G 188.0M      0K     0K    2%  chrome
15474   2080       0 91595K  858.5M 166.0M      0K  -800K    2%  chrome
11220      0       0     2K    1.3G 162.4M      0K     0K    2%  soffice.bin
Run Code Online (Sandbox Code Playgroud)

键入H以获取有关可用命令的简要帮助。键入A以切换仅活动/所有进程的统计信息收集,Z以在调查之前暂停自动更新(PAUSED启用时显示在右上角)。


Mam*_*ezo 5

您可以将 ps 命令与其他内容一起使用,如下所示:

ps -eo size,command --sort -size | grep chromium | awk '{ hr=$1/1024 ; sum +=hr} END {print sum}'
Run Code Online (Sandbox Code Playgroud)

对于日常用例,创建一个文件(我在这里将其命名为 memsum!)并将其放入:

ps -eo size,command --sort -size | grep $1 | awk '{ hr=$1/1024 ; sum +=hr; echo $1} END {print sum}'
#                                       ^this $1 will come from runtime argument
Run Code Online (Sandbox Code Playgroud)

然后在它上面设置 x falg

chmod +x memsum
Run Code Online (Sandbox Code Playgroud)

并使用它:

./memsum chromium
./memsum httpd
Run Code Online (Sandbox Code Playgroud)

  • 您可以通过添加单位(即 MiB)来改进此脚本。 (2认同)

Moh*_*dar -1

您可以使用qps。它显示了每个进程的总使用情况。

            SS#1

参考

  • 但OP想总结所有的内存使用情况...... (6认同)