如何在linux系统中查看系统用户的总CPU和内存使用情况

时间:2015-05-26 10:17:35

标签: linux shell command

我知道查看CPU和内存使用过程的top命令,但是系统的某些用户可以生成很多进程,如果我想知道用户的总CPU和内存使用情况,我必须通过我的数据来计算拥有,那么,是否有一个命令可以查看linux系统中系统用户的总CPU和内存使用情况,并按系统用户名排序?

2 个答案:

答案 0 :(得分:1)

尝试那些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

答案 1 :(得分:0)

您可以使用smem

{{1}}