linux進程管理工具(1)-- Ps與Top命令詳解

Ps

功能 :運用該命令可以確定有哪些進程正在運行和運行的狀態、 進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。

參數:

-A 所有的進程均顯示出來,與 -e 具有同樣的效用。
-a 顯示當前終端機下的所有進程,包括其他用戶的進程
-U 以用戶爲主的進程狀態
-X 通常與 a 這個參數一起使用,可列出較完整信息
-l 以長格式輸出顯示
-f 以長格式輸出

例如:
ps -aux
在這裏插入圖片描述

  1. USER:該進程屬於哪個用戶。
  2. PID :該進程的進程ID號。
  3. %CPU:該進程使用掉的 CPU 資源百分比。
  4. %MEM:該進程所佔用的物理內存百分比。
  5. VSZ :該進程使用掉的虛擬內存量 。
  6. RSS :該進程佔用的固定的內存量。
  7. TTY :該進程是在那個終端機上面運作,若與終端機無關,則顯示 ?。另外, tty1-tty6 是本機上面的登入者程序,若爲 pts/0 等等的,則表示爲由網絡連接進主機的程序,例如 ssh工具等。
  8. STAT:該程序當前的狀態
R 該程序目前正在運作,或者是可被運作
S 該程序目前正在睡眠當中,但可被某些訊號(signal) 喚醒
T 該程序目前正在偵測或者是停止了
Z 該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆屍) 程序的狀態
  1. START:該進程啓動了的時間。
  2. TIME :該進程實際使用 CPU 運作了多長時間。
  3. 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

  1. F:代表程序旗幟(4,代表使用者爲superuser)
  2. S:程序當前狀態
  3. ppid:父進程id
  4. c:cpu資源使用百分比
  5. PRI:進程執行優先權,越小有早被執行
  6. NI:nice值進程可被執行的優先級的修正值。
  7. ADDR:內核函數,指出該程序在內核那一部分,-表示正在運作。
  8. SZ:使用掉的內存大小
  9. 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 運行進程所使用的命令。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章