在 Linux 中查找内存和 CPU 使用率最高的运行进程
我记得曾经读到过,高效的系统管理员都是懒人。原因并不是他们没有做好自己的工作或浪费时间——主要是因为他们已经将大量日常任务自动化。因此,他们不必照看服务器,可以利用时间学习新技术,并始终保持领先地位。
自动化任务的一部分是学习如何让脚本完成您自己必须做的事情。不断向自己的知识库添加命令也同样重要。
因此,在本文中我们将分享一个技巧来找出哪些进程在 Linux 中消耗了大量内存和 CPU 利用率。
话虽如此,让我们深入研究并开始吧。
检查 Linux 中按 RAM 或 CPU 使用率排序的顶级进程
以下命令将按 RAM 和 CPU 使用率排序的顶级进程列表(如果要查看完整列表,请删除管道和头部):
# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
示例输出
PID PPID CMD %MEM %CPU 2591 2113 /usr/lib/firefox/firefox 7.3 43.5 2549 2520 /usr/lib/virtualbox/Virtual 3.4 8.2 2288 1 /home/gacanepa/.dropbox-dis 1.4 0.3 1889 1543 c:\TeamViewer\TeamViewer.ex 1.0 0.2 2113 1801 /usr/bin/cinnamon 0.9 3.5 2254 2252 python /usr/bin/linuxmint/m 0.3 0.0 2245 1801 nautilus -n 0.3 0.1 1645 1595 /usr/bin/X :0 -audit 0 -aut 0.3 2.5
简要说明上述命令中使用的上述选项。
ps-o
的(或–format ) 选项允许您指定输出格式。我最喜欢的是显示进程的PID ( pid )、PPID ( pid )、与进程关联的可执行文件的名称 ( cmd ) 以及 RAM 和 CPU 利用率(分别为和)。%mem
%cpu
此外,我使用或--sort
进行排序。默认情况下,输出将按升序排序,但我个人更喜欢通过在排序条件前添加减号来反转该顺序。%mem
%cpu
要向输出添加其他字段,或更改排序条件,请参阅命令手册页中的“输出格式控制”ps
部分。
不要错过: 在批处理模式下使用‘top’查找按内存使用率排名前 15 位的进程
不要错过: 在 Linux 中查找磁盘大小排名前 10 的目录
概括
监控进程是 Linux 服务器系统管理员的众多任务之一,在本技巧中,我们研究了如何使用ps实用程序列出系统上的进程并根据RAM和CPU使用情况以后代形式对它们进行排序。