Linux 計算 Process 佔用多少記憶體

有時需要找出系統內占用最多記憶體 (RAM) 的進程, 以及查詢詢進程及其子進程到底用了多少記憶體, 在 Linux 下要查詢那一個 process 佔用最多記憶體 (RAM), 可以用 ps 指令再加上 –sort 參數, –sort 可以自訂要排序的項目, 例如 CPU 或 RAM 也可以。當找到要查詢的進程後, 可以用 awk 計算所有子進程所使用的記憶體有多少。

例如我想將使用最多記憶體的 process 排在結果的最後, 可以用以下指令:

執行以上指令後, ps 會將輸出以 RSS size 排序, 最下面出現的是佔用最多記億體的 process.

例如現在知道 httpd 佔用最多記憶體, 由於 httpd 有多個子進程在執行, 所以要計算 httpd 到底用了多少記憶體, 需要做一點計算, 下面指令會用 awk 計算所有 httpd 的進程用了多少記憶體, 並以 MB 為體位顯示:




Leave a Reply