透過ps與top的來找出秏費系統資源的程式

pstop都是linux 開機即有的基礎指令,最近才發現它們也可以幫我們依照消秏資源的程度來呈現目前使用率最大的程式。

ps 指令

找出前10個較秏cpu 資源的程式

-eo : 是用來指定輸出目前process 的特定欄位,並且在透過 --sort (linux)或 -r/-m (darwin)來進行排序。

linux:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu

darwin:

ps -eo pid,ppid,%mem,%cpu,comm -r | head

找出前10個較秏memory 資源的程式

linux:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem

darwin:

ps -eo pid,ppid,%mem,%cpu,comm -m | head

top 指令

top 主要是透過互動式的terminal 介面來呈現目前系統的狀態,但其它也可以透過輸出模式的變更來做到與ps 指定相似的結果。
如果需要更fancy的系統狀態儀表板的話,其實可以另外安裝htop試試…

linux :

-b 代表不使用互動界面的方式出輸結果。
-o 代表用特定欄位排序

top -b -o +%MEM | head -n 10

darwin:

-stats 用來顯示輸出的欄位
-o 代表用來排序的欄位
-l 用來控制要採樣的次數,1 代表只輸出一次結果。
-n 用來控制呈現的前n

top -stats pid,cpu,mem,th,pstate,time,command -o MEM -n 10 -l 1

reference:

https://shutdown2110.blogspot.com/2018/07/linux-ps-top-cpu.html

https://www.freebsd.org/cgi/man.cgi?ps(1)

https://unix.stackexchange.com/questions/88613/how-is-it-possible-to-sort-ps-commands-cpu-field

https://superuser.com/questions/538957/print-top-output-only-once-on-mac-os-x