列出 CPU 和内存消耗最大的 10 个进程 - Linux

列出 CPU 和内存消耗最大的 10 个进程 - Linux

我正在尝试使用以下命令查找消耗更多 CPU 和内存的前 10 个进程

ps -Ao user,uid,comm,pid,pcpu,pmem --sort=-pcpu | head -n 10

但它没有显示正确的数据,因为我可以看到对于同一个进程,CPU%值在top命令中波动,比如10%,然后是250%。

请帮助列出考虑所有核心的高 CPU 消耗进程。

由于它是 Prod Server,因此我们无法安装任何工具。需要澄清的是,要求是每当服务器上出现高 CPU 使用率警报时,我们都会尝试捕获前 10 个进程以及 CPU 和内存并将其作为邮件发送。如果我们当时仅提取顶部输出,则可能无法显示跨核心进程的使用情况,因为它会波动。

答案1

您的排序标志中似乎有拼写错误(—PCPC应该—PCPU

无论如何,运行修正后的命令会产生以下快照,显示按 CPU 使用率降序排列的前 9 个进程的综合 CPU 使用率(使用 head -n 11 获取前 10 个):

$ ps -Ao user,uid,comm,pid,pcpu,pmem --sort=-pcpu | head -n 10
USER       UID COMMAND           PID %CPU %MEM
husjon    1000 PathOfExile_x64 13233  225  4.7
husjon    1000 wineserver      13172 30.4  0.0
husjon    1000 chrome          12501 18.7  1.3
husjon    1000 chrome          10631 13.2  0.8
husjon    1000 lutris          12474  7.6  0.2
root         0 Xorg              620  5.6  0.1
husjon    1000 compton          2146  4.2  0.2
husjon    1000 chrome          10595  4.1  1.0
husjon    1000 chrome          32332  3.4  0.5

希望这可以帮助

答案2

您可以使用该top命令来监控 Linux 上的进程和系统资源使用情况。它是系统管理员工具箱中最有用的工具之一,并且在每个发行版中都预装了它。与其他命令(例如)不同ps,它是交互式的,您可以浏览进程列表、终止进程等等。

有关其使用示例,请参阅文章 Linux 中的 12 个 TOP 命令示例

相关内容