我知道top命令可以查看CPU和内存使用的进程,但是系统的一些用户可以生成很多进程,如果我想知道一个用户的CPU和内存使用总量,我必须自己统计,那么linux系统中有没有一个命令可以查看系统用户的CPU和内存使用总量,并按系统用户名排序?
发布于 2015-05-26 18:38:01
试试那些oneliners
对于CPU:
top -b -n 1 -u <user> | awk 'NR>7 { sum += $9; } END { print sum; }'对于内存
top -b -n 1 -u <user> | awk 'NR>7 { sum += $10; } END { print sum; }'编辑:
一个脚本覆盖所有用户:
for i in `ps -ef | grep -v UID | awk '{print $1}'| sort | uniq`;
do
echo "user: " $i;
top -b -n 1 -u $i | awk 'NR>7 { sum += $9; } END { print "CPU " sum; }';
top -b -n 1 -u $i | awk 'NR>7 { sum += $10; } END { print "MEM " sum; }';
echo;
done发布于 2015-05-26 18:25:31
您可以使用smem
smem -u -t -khttps://stackoverflow.com/questions/30455703
复制相似问题