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

pri*_*nce 5 memory linux cpu cpu-usage user

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

hyg*_*gri 7

我不认为有直接的方法可以做到这一点 - 但一种方法是解析 top 的输出。下列

top -b -n 1 -u username | awk 'NR>7 { sum += $9; } END { print sum; }' 
Run Code Online (Sandbox Code Playgroud)

就是这么做的。对于 top 中的每个进程(对于给定用户),awk 会将每行的第 9 个分隔字段(即 CPU %)剥离 7 行(即顶部表的开始),然后将它们相加。至少可以省去你的麻烦!

围绕这个问题进行了一些讨论...

方法论,堆栈交换