查看 Linux 系統中進程和用戶的內存使用情況
有一些命令可以用來檢查 Linux 系統中的內存使用情況,下面是一些更好的命令。
-- Sandra Henry-stocker
有許多工具可以查看 Linux 系統中的內存使用情況。一些命令被廣泛使用,比如free、ps。而另一些命令允許通過多種方式展示系統的性能統計信息,比如top。在這篇文章中,我們將介紹一些命令以幫助你確定當前佔用著最多內存資源的用戶或者進程。
下面是一些按照進程查看內存使用情況的命令:
按照進程查看內存使用情況
使用 top
top是最好的查看內存使用情況的命令之一。為了查看哪個進程使用著最多的內存,一個簡單的辦法就是啟動top,然後按下 ,這樣便可以查看按照內存佔用百分比從高到底排列的進程。當你按下了 ,你的top應該會得到類似於下面這樣的輸出結果:
注意 排序。列表的大小取決於你的窗口大小,但是佔據著最多的內存的進程將會顯示在列表的頂端。
使用 ps
ps命令中的一列用來展示每個進程的內存使用情況。為了展示和查看哪個進程使用著最多的內存,你可以將ps命令的結果傳遞給sort命令。下面是一個有用的示例:
在上面的例子中(文中已截斷),sort命令使用了 選項(反轉)、 選項(數字值)、 選項(關鍵字),使sort命令對ps命令的結果按照第四列(內存使用情況)中的數字逆序進行排列並輸出。如果我們首先顯示ps命令的標題,那麼將會便於查看。
如果你喜歡這個命令,你可以用下面的命令為他指定一個別名,如果你想一直使用它,不要忘記把該命令添加到你的 文件中。
下面是一些根據用戶查看內存使用情況的命令:
按用戶查看內存使用情況
使用 top
按照用戶檢查內存使用情況會更複雜一些,因為你需要找到一種方法把用戶所擁有的所有進程統計為單一的內存使用量。
如果你只想查看單個用戶進程使用情況,top命令可以採用與上文中同樣的方法進行使用。只需要添加 選項並在其後面指定你要查看的用戶名,然後按下 便可以按照內存使用有多到少進行查看。
使用 ps
你依舊可以使用ps命令通過內存使用情況來排列某個用戶的進程。在這個例子中,我們將使用grep命令來篩選得到某個用戶的所有進程。
使用 ps 和其他命令的搭配
如果你想比較某個用戶與其他用戶內存使用情況將會比較複雜。在這種情況中,創建並排序一個按照用戶總的內存使用量是一個不錯的方法,但是它需要做一些更多的工作,並涉及到許多命令。在下面的腳本中,我們使用ps aux | grep -v COMMAND | awk "" | sort -u命令得到了用戶列表。其中包含了系統用戶比如 。我們對每個任務使用awk命令以收集每個用戶總的內存使用情況。在最後一步中,我們展示每個用戶總的內存使用量(按照從大到小的順序)。
這個腳本的輸出可能如下:
在 Linux 有許多方法可以報告內存使用情況。可以通過一些用心設計的工具和命令,來查看並獲得某個進程或者用戶佔用著最多的內存。
via:https://www.networkworld.com/article/3516319/showing-memory-usage-in-linux-by-process-and-user.html
作者:Sandra Henry-Stocker選題:lujun9972譯者:萌新阿岩校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出
:看到這裡點一下在看唄?