高效的系统管理员通常是懒惰的。原因不是他们没有完成工作或浪费时间,主要是因为他们已经自动化了大量的日常任务。因此,不必在服务器上浪费太多精力,可以利用时间学习新技术并始终保持 “遥遥领先”。
自动化任务的一部分是学习如何让脚本完成你必须自己做的事情。当然,不断将命令添加到自己的知识库中也同样重要。
出于这个原因,在本文中,我将分享一个技巧,来找出哪些进程在 Linux 中消耗了大量的内存和 CPU。
以下命令将以后代形式显示按 RAM 或 CPU 使用情况排序的排名前十的进程列表(如果要查看完整列表,请删除管道(|)和 head):-eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head
示例输出如图1:
图1,查看内存使用率最高的十个进程
命令选项说明如下:
-o 选项允许指定输出格式。我喜欢打印进程的 PID、PPID,RAM(%mem)、CPU(%cpu)使用率,以及与进程关联的可执行文件的名称(cmd)。
--sort 按 %mem
或 %cpu
排序,默认为升序。就我个人而言,更喜欢通过在排序条件前面使用 -
号,以倒序排列。
要向输出中添加其他字段或更改排序条件,请参阅 ps 命令手册页中的 OUTPUT FORMAT CONTROL 部分。
在 Linux 系统中查看占用内存或 CPU 资源较多的进程是运维的常见工作之一,在本文中,我们讨论了如何列出系统上的进程,并使用 ps 命令根据 RAM 和 CPU 使用情况以后代形式对它们进行排序。
全部0条评论
快来发表一下你的评论吧 !