如何在Linux系統上檢視按實際記憶體使用量排序的頂部程序?
Linux 提供了著名的 **top** 命令實用程式,它可以提供有關程序、其執行時間、各自的 ID、它們消耗的 CPU 資源等等資訊。唯一的問題是程序沒有按照任何順序排序,並且順序會頻繁變化。
在某些情況下,我們希望輸出以某種排序方式顯示,例如按記憶體使用量排序,記憶體使用量最高的程序排在最前面。
最基本的方法是使用 Linux 提供的 **ps** 命令,並附加類似的命令,主要是 **--sort** 標籤和 **mem** 命令。
在使用 **ps** 命令列印記憶體消耗最大的程序之前,讓我們先了解一下它。
第一個命令是 Linux 作業系統的 **ps** 命令。**ps** 命令是“程序狀態”的縮寫,用於列出當前在 Linux 機器上執行的程序,以及它們的 PID 和其他選項。
語法
ps ef | [ - options ]
讓我們舉兩個例子,第一個例子將列印在你的 Ubuntu 機器上執行的所有程序,第二個例子將列印特定服務是否正在執行。
命令
ps ef
輸出
UID PID PPID C STIME TTY TIME CMD 0 1 0 0 25Jun21 ?? 19:53.44 /sbin/launchd 0 56 1 0 25Jun21 ?? 0:41.68 /usr/sbin/syslogd 0 57 1 0 25Jun21 ?? 0:59.28 /usr/libexec/UserEventAgent (System)
上述命令的輸出非常龐大,所以我只列印了一部分,需要注意的是輸出可能會有所不同。
現在我們對 **ps** 命令有了一些瞭解,讓我們看看將給我們所需輸出的命令。
命令
ps aux --sort ‘%mem’
輸出
USER PID %CPU %MEM VSZ RSS TTY ... root 1284 1.5 3.7 452692 142796 tty7 immukul 2286 0.3 3.8 1316000 143312 ? immukul 5150 0.0 4.4 660620 168488 pts/0 immukul 5147 0.0 4.5 660556 170920 pts/0 immukul 5142 0.1 6.3 2581944 239408 pts/0 immukul 2386 3.6 16.0 1752740 605372 ?
正如我們在上面的輸出中看到的,程序按它們消耗的記憶體從小到大排序。
另一種選擇是使用 **top** 命令本身,並按照以下步驟操作
在你的終端中鍵入 **top** 後,按 **SHIFT + M**,然後在互動式選單中按程序記憶體排序。最後,執行以下命令
top -o +%mem
輸出
USER PID %CPU %MEM VSZ RSS TTY ... root 1284 1.5 3.7 452692 142796 tty7 immukul 2286 0.3 3.8 1316000 143312 ? immukul 5150 0.0 4.4 660620 168488 pts/0 immukul 5147 0.0 4.5 660556 170920 pts/0 immukul 5142 0.1 6.3 2581944 239408 pts/0 immukul 2386 3.6 16.0 1752740 605372 ?
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP