我创建了一个命令来告诉我哪些进程占用了RAM
alias psmem='ps -eo user,pid,pcpu,pmem,args --sort -pmem --columns $(tput cols) | head -25'
但是,输出通常如下所示:
USER PID %CPU %MEM COMMAND
barafu 2113 5.8 2.4 /usr/lib/chromium/chromium --type=renderer --enable-oop-rasterization --field-trial-handle=
barafu 1489 4.6 1.8 /usr/lib/chromium/chromium --type=gpu-process --field-trial-handle= --enable-gpu-raster
barafu 2765 0.6 1.8 /usr/lib/chromium/chromium --type=renderer --enable-oop-rasterization --field-trial-handle=
barafu 1460 1.7 1.7 /usr/lib/chromium/chromium --password-store=basic --ignore-gpu-blacklist --enable-gpu-rasterization --enable-zero-copy --enable-oop-
barafu 1326 2.0 1.5 cinnamon --replace
barafu 1594 0.1 1.3 /usr/lib/chromium/chromium --type=renderer --enable-oop-rasterization --field-trial-handle=
问题:是否有办法告诉ps
您将所有这些铬合并为一个条目?
ps
的输出粒度仅限于单个进程或线程,它不能合并进程。您将不得不对其输出进行后处理。
这样的事情应该可以帮助您入门:
ps -eo user=,pid=,pcpu=,pmem=,args= --sort -pmem --columns $(tput cols) |
awk '{ cpu[$1][$5] += $3; mem[$1][$5] += $4 } END { for (user in cpu) { for (cmd in cpu[user]) { print user, cpu[user][cmd], mem[user][cmd], cmd } } }' |
sort -k3,3nr | head -n 25
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句