Linux查看系統進程信息命令總結 (ps/top/pstree)

linux進程查看系統進程信息命令主要分爲:靜態進程查看命令(ps)、動態進程查看命令(top)和查看進程樹命令(pstree),下面分別介紹這幾個進程: linux

1、靜態進程查看 ps

ps命令格式:     ps -aux     查看系統全部進程 chrome

                          ps -lA        查看全部系統的數據 ubuntu

                          ps axjf       連通部分進程樹狀態 bash

     -A:與-e意思同樣,表列出全部進程 負載均衡

     -a :不與terminal有關的進程 優化

     -u:有效用戶相關的進程 spa

      x:一般與a這個參數一塊兒用,能夠列出完整信息 .net

輸出格式:  l:較仔細列出該pid信息 blog

                   j:工做格式 dns

                  -f:作一個更爲完整的輸出


ps -l:僅查看本身的bash相關進程

[plain] view plain copy
  1. zhouyl@ubuntu :~$ ps -l  
  2. F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD  
  3. 0 S  1000 20257 20248  0  80   0 -  6067 wait   pts/7    00:00:00 bash  
  4. 0 R  1000 21392 20257  0  80   0 -  2466 -      pts/7    00:00:00 ps  

F:進程標誌

     4:表示權限爲root

     1:表示只能複製,不能執行

S:表示進程的狀態(STAT)

     R:running表示正在運行狀態

     S:sleep表示沉睡狀態,可是能夠喚醒

     D:表示沉睡狀態,不能喚醒,一般這個進程可能在等待I/O的狀況

     T:stop表示停在狀態,例如暫停的後臺工做或出錯進程

     Z:殭屍進程,進程已經終止但不能提出內存外

UID/PID/PPID:表示用戶的UID/進程的PID號碼/此進程的父進程PID號碼

C:表示CPU的使用率,單位是百分比

PRI/NI:表示此進程被CPU執行的優先級,數字越小,優先級越高

ADDR:支持該進程在內存的那個部分,若該進程正在運行這表示爲「-」

SZ:表示該進程佔用了多少內存

WCHAN:表示該進程是否運行,若在運行這表示爲「-」

TTY:表示登錄終端,如果遠程登錄表示爲pts/h

TIME:表示該進程使用CPU的時間

CMD:command,表示那個命令啓動的該進程


下面介紹 ps -aux     查看系統全部進程

[plain] view plain copy
  1. <span style="font-size:18px">zhouyl@ubuntu :~$ ps aux  
  2. USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND  
  3. root         1  0.0  0.0  24564  2444 ?        Ss   08:19   0:00 /sbin/init  
  4. root         2  0.0  0.0      0     0 ?        S    08:19   0:00 [kthreadd]  
  5. root         3  0.0  0.0      0     0 ?        S    08:19   0:04 [ksoftirqd/0]  
  6. </span>  

USER:表示該進程所屬用戶

PID:該進程的PID號

%CPU:表示該進程的CPU佔用率

%MEM:表示該進程的物理內存佔用率

VSZ:表示該進程佔用了多少虛擬內存量

RSS:表示該進程佔用了多少固定內存量

TTY:表示登錄端口

STAT:和上面介紹的進程狀態同樣(R/S/D/T/Z進程)

START:該進程觸發啓動的時間

TIME:表示該進程佔用CPU的時間

COMMAND:表示觸動該進程的命令 


殭屍進程

一般,形成殭屍進程的緣由是該進程應該已經執行完畢,或是因故應該要終止了,可是該進程的父進程卻沒法完整將該進程結束掉,而形成那個進程一直在內存當中。若是你發現某個進程的CMD後面接上<defunct>時,就表明該進程是殭屍進程,例如:

1  2598  2598  2598 ?           -1 Ss       0   0:00 /usr/sbin/hcid<defunct>

當系統不穩定的時候就容易形成所謂的殭屍進程,多是由於程序寫的很差,或者用戶操做不當所形成的。若是系統出現不少殭屍進程,記得要找出父進程,而後好好跟蹤,好好優化主機環境。若是實在不行就只有reboot了

 

2、動態進程:top

top命令格式

[plain] view plain copy
  1. <span style="font-size:18px"> top [-d | -bnp]   
  2. -d:表示界面刷新時間,單位秒,默認是5秒   
  3. -b:以批次的方式進行top,還有更多的參數可使用   
  4.     一般會搭配數據重定向來說批處理的結果輸出成爲文件   
  5. -n:與-b搭配,意思是須要進行幾回top的輸出結果   
  6. -p:查看直接進程,後面接進程號   
  7.   ?:顯示在top當中能夠輸入的按鍵命令   
  8.   P:以cpu使用率來排名   
  9.   M:之內存的使用率來排名   
  10.   N:以PID來排名   
  11.   T:以進程使用CPU時間累加排名   
  12.   k:給予某個PID一個信號   
  13.   r:給予某個PID從新制定一個nice值   
  14.   q:退出離開 </span>  
[plain] view plain copy
  1. <span style="font-size:18px">zhouyl@ubuntu :~$ top  
  2.   
  3. top - 10:44:15 up  2:24,  6 users,  load average: 2.09, 2.70, 2.98  
  4. Tasks: 209 total,   3 running, 206 sleeping,   0 stopped,   0 zombie  
  5. Cpu(s): 29.9%us, 17.4%sy,  0.0%ni, 52.4%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st  
  6. Mem:   5046272k total,  4752156k used,   294116k free,  1291300k buffers  
  7. Swap:   262140k total,       16k used,   262124k free,  1516100k cached  
  8.   
  9.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                            
  10.  2813 zhouyl    20   0 1269m 200m  41m R   28  4.1  33:49.24 compiz                                                                                             
  11.  1478 root      20   0  247m 130m  18m S   18  2.6  25:49.51 Xorg                                                                                               
  12.  3972 zhouyl    20   0 1707m  71m  35m S   10  1.5  14:19.49 vlc                                                                                                
  13.  3218 zhouyl    20   0  806m 158m  49m S    6  3.2  16:19.85 chrome                                                                                             
  14.  3607 zhouyl    20   0  985m 130m  27m S    6  2.6   2:05.07 chrome </span>  

這裏有六行

第一行:表示如今時間,系統開機到如今的時間,多少登錄用戶。負載均衡,在一、五、15分鐘系統平均運行幾個進程的意思,越小表明系統越閒置,若高於1得注意你的系統壓力是否太過繁複了


第二行:表示系統共運行了多少進程,他們分別的運行狀態,注意後面的zombie通常爲0若是爲其餘數,就要注意了,看看到是那個進程是殭屍進程


第三行:表示當下CPU總體負載,須要特別注意的是%wa,這個選項表明的是I/Owait,一般你的系統會變慢都是I/O產生的問題比較大,若是你是多核設備能夠按「1」切換查看不一樣的CPU負載狀況

下面是咱們在 top 命令看到的 CPU 佔用率信息及各項值含義:

Cpu(s): 29.9%us, 17.4%sy, 0.0%ni, 52.4%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
us: User time     用戶時間(User time):表示 CPU 執行用戶進程的時間,包括 nices 時間。一般指望用戶空間 CPU 越高越好。
sy: System time    系統時間(System time):表示 CPU 在內核運行時間,包括 IRQ 和 softirq 時間。系統 CPU 佔用率高,代表系統某部分存在瓶頸。一般值越低越好。
ni: Nice time     Nice 時間(Nice time):系統調整進程優先級所花費的時間。
id: Idle time        空閒時間(Idle time):系統處於空閒期,等待進程運行。
wa: Waiting time    等待時間(Waiting time):CPI 在等待 I/O 操做完成所花費的時間。系統部應該花費大量時間來等待 I/O 操做,不然就說明 I/O 存在瓶頸。    
hi: Hard Irq time    硬中斷處理時間(Hard Irq time):系統處理硬中斷所花費的時間。    
si: SoftIrq time    軟中斷處理時間(SoftIrq time):系統處理軟中斷中斷所花費的時間。
st: Steal time    丟失時間(Steal time):被強制等待(involuntary wait)虛擬 CPU 的時間,此時 hypervisor 在爲另外一個虛擬處理器服務。


第四行與第五行:表示物理內存與虛擬內存使用的狀況,swap的使用要越低越好,若是swap使用率較高表示物理內存不足


第六行及如下:

PID:是進程ID

USER:該進程所屬用戶

PR:priority的縮寫,進程的優先級,值越小優先級越高

NI:nice的縮寫,與priority有關,值越小優先級越高

%CPU:CPU的使用率

%MEM:內存使用率

TIME+:CPU使用時間的累加

值得注意的是:在top中輸入h或者?,能夠顯示幫助

 

3、查看進程樹命令:pstree

pstree命令格式

[plain] view plain copy
  1. pstree [-A|U] [-up]   
  2. -A:各進程間鏈接用ASCII字符鏈接   
  3. -U:該進程之間鏈接用utf8字符鏈接   
  4. -p:同時顯示PID   
  5. -u:同時列出每一個進程的所屬帳號名稱   
  6. zhouyl@ubuntu :~$ pstree -Aup  
  7. init(1)-+-NetworkManager(1344)-+-dhclient(1707)  
  8.         |                      |-dnsmasq(2560,nobody)  
  9.         |                      |-dnsmasq(2645,nobody)  
  10.         |                      |-{NetworkManager}(1374)  
  11.         |                      `-{NetworkManager}(1708)  
  12.         |-accounts-daemon(2184)---{accounts-daemon}(2185)  
  13.         |-acpid(1417)  
  14.         |-atd(1429,daemon)  
  15.         |-avahi-daemon(1331,avahi)---avahi-daemon(1332)  
  16.         |-bamfdaemon(2892,zhouyl)---{bamfdaemon}(2896)  
  17.         |-bluetoothd(1319)  
  18.         |-chrome(3218,zhouyl)-+-chrome(3313)  
  19.         |                     |-chrome(3690)-+-{chrome}(3693)  
  20.         |                     |              |-{chrome}(3694)  
  21.         |                     |              `-{chrome}(3695)  
  22.         |                     |-chrome(3718)-+-{chrome}(3719)  
  23.         |                     |              |-{chrome}(3720)  
  24.         |                     |              `-{chrome}(3721)  
相關文章
相關標籤/搜索