歡迎您光臨本站 註冊首頁

Linux 查看進程

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

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

一、靜態進程查看

ps命令格式:

  1. [root@CentOS5 ~]# ps -aux <=== 查看系統所有的進程
  2. [root@CentOS5 ~]#ps -lA <=== 也是能夠查看所有系統的數據
  3. [root@CentOS5 ~]#ps axjf <=== 連同部分進程樹狀態
  4. -A:與-e意思一樣,表示列出所有的進程
  5. -a:不與terminal有關的進程
  6. -u:有效用戶相關的進程
  7. x :通常與a這個參數一起使用,可以列出完整信息
  8. 輸出格式規劃

  9. l :較長,較詳細的將該PID的信息列出
  10. j :工作格式
  11. -f:做一個更為完整的輸出

ps -l:僅查看自己的bash相關進程

  1. [root@CentOS5 ~]# ps -l
  2. F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
  3. 4 S 0 9949 9947 0 76 0 - 1132 wait pts/2 00:00:00 bash
  4. 4 R 0 10203 9949 0 77 0 - 1052 - pts/2 00:00:00 ps

F:進程標誌

4:表示許可權為root

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

S:表示進程的狀態(STAT

Rrunning表示正在運行狀態

Ssleep表示沉睡狀態,但是可以喚醒

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

Tstop表示停在狀態,例如暫停的後台工作或出錯進程

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

UID/PID/PPID:表示用戶的

UID/進程的PID號碼/此進程的父進程PID號碼

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

PRI/NI:表示此進程被

CPU執行的優先順序,數字越小,優先順序越高

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

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

WCHAN:表示該進程是否運行,若在運行這表示為“-

TTY:表示登陸終端,若是遠程登陸表示為pts/h

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

CMDcommand,表示那個命令啟動的該進程

  1. [root@CentOS5 ~]# ps aux
  2. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  3. root 1 0.0 0.0 2064 620 ? Ss 07:29 0:00 init [3]
  4. root 2 0.0 0.0 0 0 ? S

    < 07:29 0:00 [migration/0]
  5. root 3 0.0 0.0 0 0 ? SN 07:29 0:00 [ksoftirqd/0]
  6. …(省略部分)…
  7. root 3022 0.0 0.0 1656 432 tty2 Ss 07:30 0:00 /sbin/mingetty tty2
  8. root 3023 0.0 0.0 1656 436 tty3 Ss 07:30 0:00 /sbin/mingetty tty3
  9. root 3024 0.0 0.0 1656 436 tty4 Ss 07:30 0:00 /sbin/mingetty tty4
  10. root 3025 0.0 0.0 1656 436 tty5 Ss 07:30 0:00 /sbin/mingetty tty5
  11. root 3026 0.0 0.0 1656 432 tty6 Ss 07:30 0:00 /sbin/mingetty tty6

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

二、動態進程:

top

top命令格式

  1. [root@CentOS5 ~]# 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:退出離開

  1. [root@CentOS5 ~]# top
  2. top - 20:09:53 up 12:40, 2 users, load average: 0.00, 0.00, 0.00
  3. Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
  4. Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
  5. Mem: 823916k total, 677020k used, 146896k free, 79228k buffers
  6. Swap: 1671160k total, 0k used, 1671160k free, 462724k cached

  7. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
  8. 10687 root 35 19 2196 992 800 R 0.3 0.1 0:00.03 top
  9. 1 root 15 0 2064 620 532 S 0.0 0.1 0:00.74 init
  10. 2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
  11. 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
  12. 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0

這裡共有六行

第一行:表示現在時間,系統開機到現在的時間,多少登陸用戶.負載均衡,在1

515分鐘系統平均運行幾個進程的意思,越小代表系統越閑置,若高於1得注意你的系統壓力是否太過繁複了

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

第三行:表示當下

CPU整體負載,需要特別注意的是%wa,這個選項代表的是I/Owait,通常你的系統會變慢都是I/O產生的問題比較大,如果你是多核設備可以按“1”切換查看不同的CPU負載情況

第四行與第五行:表示物理內存與虛擬內存使用的情況,

swap的使用要越低越好,如果swap使用率較高表示物理內存不足

第六行:

PID:是進程ID

USER:該進程所屬用戶

PRpriority的縮寫,進程的優先順序,值越小優先順序越高

NInice的縮寫,與priority有關,值越小優先順序越高

%CPUCPU的使用率

%MEM:內存使用率

TIME

CPU使用時間的累加

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

三、查看進程樹命令:pstree

pstree命令格式

  1. [root@CentOS5 ~]# pstree [-A|U] [-up]
  2. -A:各進程間連接用ASCII字元連接
  3. -U:該進程之間連接用utf8字元連接
  4. -p:同時顯示PID
  5. -u:同時列出每個進程的所屬賬號名稱

  1. [root@CentOS5 ~]# pstree -Aup
  2. init(1)- -acpid(2738)
  3. |-atd(2912)
  4. |-auditd(2399)- -audispd(2401)---{audispd}(2409)
  5. | `-{auditd}(2400)
  6. |-automount(2714)- -{automount}(2715)
  7. | |-{automount}(2716)
  8. | |-{automount}(2719)
  9. | `-{automount}(2722)
  10. |-avahi-daemon(2942,avahi)---avahi-daemon(2943)
  11. |-crond(2856)
  12. |-cupsd(2792)
  13. |-dbus-daemon(2582,dbus)---{dbus-daemon}(2583)
  14. |-dhclient(2342)
  15. |-events/0(5)
  16. |-gam_server(3016)
  17. ...(部分省略)...

本文出自 「Aixe」 博客,請務必保留此出處http://aixecc.blog.51cto.com/3931677/826916


[火星人 ] Linux 查看進程已經有726次圍觀

http://coctec.com/docs/linux/show-post-46426.html