我知道最重要的命令来查看CPU和内存的使用情况,但是系统的一些用户可以产生很多进程,如果我想知道一个用户的总CPU和内存使用情况,我必须自己计算,所以,是否有一个命令可以查看系统用户在Linux系统中的总CPU和内存使用情况,并通过系统用户名进行sorting?
尝试那些线索
对于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
你可以使用smem
smem -u -t -k