Ps
功能 :運用該命令可以確定有哪些進程正在運行和運行的狀態、 進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。
參數:
-A | 所有的進程均顯示出來,與 -e 具有同樣的效用。 |
---|---|
-a | 顯示當前終端機下的所有進程,包括其他用戶的進程 |
-U | 以用戶爲主的進程狀態 |
-X | 通常與 a 這個參數一起使用,可列出較完整信息 |
-l | 以長格式輸出顯示 |
-f | 以長格式輸出 |
例如:
ps -aux
- USER:該進程屬於哪個用戶。
- PID :該進程的進程ID號。
- %CPU:該進程使用掉的 CPU 資源百分比。
- %MEM:該進程所佔用的物理內存百分比。
- VSZ :該進程使用掉的虛擬內存量 。
- RSS :該進程佔用的固定的內存量。
- TTY :該進程是在那個終端機上面運作,若與終端機無關,則顯示 ?。另外, tty1-tty6 是本機上面的登入者程序,若爲 pts/0 等等的,則表示爲由網絡連接進主機的程序,例如 ssh工具等。
- STAT:該程序當前的狀態
R | 該程序目前正在運作,或者是可被運作 |
---|---|
S | 該程序目前正在睡眠當中,但可被某些訊號(signal) 喚醒 |
T | 該程序目前正在偵測或者是停止了 |
Z | 該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆屍) 程序的狀態 |
- START:該進程啓動了的時間。
- TIME :該進程實際使用 CPU 運作了多長時間。
- COMMAND:啓動該程序的命令。
ps -l
[root@xiaoagiao ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 13036 13030 0 80 0 - 28860 do_wai pts/2 00:00:00 bash
0 R 0 13091 13036 0 80 0 - 38309 - pts/2 00:00:00 ps
- F:代表程序旗幟(4,代表使用者爲superuser)
- S:程序當前狀態
- ppid:父進程id
- c:cpu資源使用百分比
- PRI:進程執行優先權,越小有早被執行
- NI:nice值進程可被執行的優先級的修正值。
- ADDR:內核函數,指出該程序在內核那一部分,-表示正在運作。
- SZ:使用掉的內存大小
- WCHAN:當前程序是否正在運作。
ps是顯示瞬間進程的狀態,並不動態連續;如果想對進程進行實時監控應該用top命令。
top
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況。
第一行 :從左到右依次爲- ->當前時間,開機運行時間,幾個用戶,平均負載量(最近 1 5 15 分鐘內平均負載)。
第二行 :從左到右依次爲- ->當前系統進程數80,1個正在運行,79個休眠狀態,0個終止,0個殭屍進程。
第三行 :各進程使用cpu時間比。
us (user) | 運行(未調整優先級的) 用戶進程的CPU時間 |
---|---|
sy(system) | 運行內核進程的CPU時間 |
ni(niced) | 運行已調整優先級的用戶進程的CPU時間 |
id(idle) | 空閒時間 |
wa (IO wait) | 用於等待IO完成的CPU時間 |
hi | 處理硬件中斷的CPU時間 |
si | 處理軟件中斷的CPU時間 |
st | 這個虛擬機被hypervisor偷去的CPU時間(譯註:如果當前處於一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的) |
第四行 :Mem -->物理內存使用情況。
第五行 :swap–>使用情況。
下方列表 :各進程任務狀態監控。
PID | 進程ID,進程的唯一標識符 |
---|---|
USER | 進程所有者的實際用戶名 |
PR | 進程的調度優先級。這個字段的一些值是’rt’。這意味這這些進程運行在實時態。 |
NI | 進程的nice值(優先級)。越小的值意味着越高的優先級。負值表示高優先級,正值表示低優先級 |
VIRT | 進程使用的虛擬內存。進程使用的虛擬內存總量,VIRT=SWAP+RES |
RES | 常駐內存,駐留內存大小。駐留內存是任務使用的非交換物理內存大小。進程使用的、未被換出的物理內存大小。 |
SHR | shared memory 共享內存 |
S | 進程的狀態—s, ,t, z, r |
%CPU | 自從上一次更新時到現在任務所使用的CPU時間百分比。(%CPU顯示的是進程佔用一個核的百分比,而不是整個cpu(N核)的百分比,有時候可能大於100,那是因爲該進程啓用了多線程佔用了多個核心,所以有時候我們看該值得時候會超過100%,但不會超過總核數*100) |
%MEM | 進程使用的物理內存百分比 |
TIME+ | 進程使用CPU時間總計,精確到百分之一秒 |
COMMAND | 運行進程所使用的命令。 |