高效的系統管理員通常是懶惰的。原因不是他們沒有完成工作或浪費時間,主要是因為他們已經自動化了大量的日常任務。因此,不必在服務器上浪費太多精力,可以利用時間學習新技術并始終保持 “遙遙領先”。
自動化任務的一部分是學習如何讓腳本完成你必須自己做的事情。當然,不斷將命令添加到自己的知識庫中也同樣重要。
出于這個原因,在本文中,我將分享一個技巧,來找出哪些進程在 Linux 中消耗了大量的內存和 CPU。
排序查看 Linux 中使用 RAM 或 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 使用情況以后代形式對它們進行排序。
-
cpu
+關注
關注
68文章
10858瀏覽量
211648 -
Linux
+關注
關注
87文章
11298瀏覽量
209391 -
服務器
+關注
關注
12文章
9138瀏覽量
85369 -
內存
+關注
關注
8文章
3023瀏覽量
74026 -
進程
+關注
關注
0文章
203瀏覽量
13960
發布評論請先 登錄
相關推薦
評論