Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式[LINUX SHELL 系統 監測]
Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式[LINUX SHELL 系統監測]
資料來源: https://blog.gtwang.org/linux/ps-top-find-processes-by-cpu-memory-usage/
ps 指令
這行指令可利用 ps 指令列出行程的一些基本資訊,按照每個行程所使用的記憶體排序後,列出排名最前面的幾個行程,也就是列出系統上最耗費記憶體的程式:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
這行指令可利用 ps 指令列出行程的一些基本資訊,按照每個行程所使用的CPU排序後,列出排名最前面的幾個行程,也就是列出系統上最耗費CPU的程式:
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head
top 指令
top 指令是一個互動式(interactive)的工具,可以顯示即時的系統負載狀態,而它也可以用於指令稿中,輸出各種系統資訊。
這行指令可將系統行程以記憶體的使用賴排序後,以 batch 模式輸出報表,並且只保留前 10 個最耗費記憶體的行程:
top -b -o +%MEM | head -n 17
若要找出最耗費 CPU 資源的行程,則改用 CPU 使用量來排序即可:
top -b -o +%CPU | head -n 17
其中 -b 參數是 batch 模式的意思,而 -o 參數則是設定以記憶體用量來排序行程,
最後面的 head -n 17 則是篩選 top 輸出的文字內容,只保留前 17 行,剩餘的內容則捨棄