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

如何在linux系统中查看系统用户的CPU和内存使用总量,linux,shell,command,Linux,Shell,Command,我知道查看CPU和内存使用过程的top命令,但是系统的一些用户可以生成很多进程,如果我想知道一个用户的CPU和内存使用总量,我必须自己计算,所以,是否有一个命令可以查看linux系统中系统用户的CPU和内存使用总量,并按系统用户名排序?您可以使用 试试那些单行线 对于CPU: top -b -n 1 -u <user> | awk 'NR>7 { sum += $9; } END { print sum; }' 这不是superuser.com,你问错了社区,顺便说一句:。

我知道查看CPU和内存使用过程的top命令,但是系统的一些用户可以生成很多进程,如果我想知道一个用户的CPU和内存使用总量,我必须自己计算,所以,是否有一个命令可以查看linux系统中系统用户的CPU和内存使用总量,并按系统用户名排序?

您可以使用

试试那些单行线

对于CPU:

top -b -n 1 -u <user>  | awk 'NR>7 { sum += $9; } END { print sum; }'

这不是superuser.com,你问错了社区,顺便说一句:。欢迎来到互联网。我想你,我试过了,它成功了。但是这个命令只显示singer用户的使用情况,你能提供一个命令来显示每个用户的使用情况吗?我不擅长LInux,但我需要这种命令,谢谢!我在回答中添加了脚本。
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