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