linux進程主要分為:靜態進程查看命令(ps)、動態進程查看命令(top)和查看進程樹命令(pstree),下面分別介紹這幾個進程
一、靜態進程查看
ps命令格式:
- [root@CentOS5 ~]# ps -aux <=== 查看系統所有的進程
- [root@CentOS5 ~]#ps -lA <=== 也是能夠查看所有系統的數據
- [root@CentOS5 ~]#ps axjf <=== 連同部分進程樹狀態
- -A:與-e意思一樣,表示列出所有的進程
- -a:不與terminal有關的進程
- -u:有效用戶相關的進程
- x :通常與a這個參數一起使用,可以列出完整信息
- 輸出格式規劃
- l :較長,較詳細的將該PID的信息列出
- j :工作格式
- -f:做一個更為完整的輸出
ps -l:僅查看自己的bash相關進程
- [root@CentOS5 ~]# ps -l
- F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
- 4 S 0 9949 9947 0 76 0 - 1132 wait pts/2 00:00:00 bash
- 4 R 0 10203 9949 0 77 0 - 1052 - pts/2 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,表示那個命令啟動的該進程
- [root@CentOS5 ~]# ps aux
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.0 2064 620 ? Ss 07:29 0:00 init [3]
- root 2 0.0 0.0 0 0 ? S < 07:29 0:00 [migration/0]
- root 3 0.0 0.0 0 0 ? SN 07:29 0:00 [ksoftirqd/0]
- …(省略部分)…
- root 3022 0.0 0.0 1656 432 tty2 Ss 07:30 0:00 /sbin/mingetty tty2
- root 3023 0.0 0.0 1656 436 tty3 Ss 07:30 0:00 /sbin/mingetty tty3
- root 3024 0.0 0.0 1656 436 tty4 Ss 07:30 0:00 /sbin/mingetty tty4
- root 3025 0.0 0.0 1656 436 tty5 Ss 07:30 0:00 /sbin/mingetty tty5
- 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了
二、動態進程:
toptop命令格式
- [root@CentOS5 ~]# top [-d | -bnp]
- -d:表示界面刷新時間,單位秒,默認是5秒
- -b:以批次的方式進行top,還有更多的參數可以使用
- 通常會搭配數據重定向來講批處理的結果輸出成為文件
- -n:與-b搭配,意思是需要進行幾次top的輸出結果
- -p:查看直接進程,後面接進程號
- ?:顯示在top當中可以輸入的按鍵命令
- P:以cpu使用率來排名
- M:以內存的使用率來排名
- N:以PID來排名
- T:以進程使用CPU時間累加排名
- k:給予某個PID一個信號
- r:給予某個PID重新制定一個nice值
- q:退出離開
- [root@CentOS5 ~]# top
- top - 20:09:53 up 12:40, 2 users, load average: 0.00, 0.00, 0.00
- Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
- 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
- Mem: 823916k total, 677020k used, 146896k free, 79228k buffers
- Swap: 1671160k total, 0k used, 1671160k free, 462724k cached
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
- 10687 root 35 19 2196 992 800 R 0.3 0.1 0:00.03 top
- 1 root 15 0 2064 620 532 S 0.0 0.1 0:00.74 init
- 2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
- 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
- 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
這裡共有六行
第一行:表示現在時間,系統開機到現在的時間,多少登陸用戶.負載均衡,在1、
5、15分鐘系統平均運行幾個進程的意思,越小代表系統越閑置,若高於1得注意你的系統壓力是否太過繁複了第二行:表示系統共運行了多少進程,他們分別的運行狀態,注意後面的zombie一般為0如果為其他數,就要注意了,看看到是那個進程是殭屍進程
第三行:表示當下
CPU整體負載,需要特別注意的是%wa,這個選項代表的是I/Owait,通常你的系統會變慢都是I/O產生的問題比較大,如果你是多核設備可以按“1”切換查看不同的CPU負載情況第四行與第五行:表示物理內存與虛擬內存使用的情況,
swap的使用要越低越好,如果swap使用率較高表示物理內存不足第六行:
PID:是進程ID
USER:該進程所屬用戶
PR:priority的縮寫,進程的優先順序,值越小優先順序越高
NI:nice的縮寫,與priority有關,值越小優先順序越高
%CPU:CPU的使用率
%MEM:內存使用率
TIME :
CPU使用時間的累加值得注意的是:在top中輸入h或者?,可以顯示幫助
三、查看進程樹命令:pstree
pstree命令格式
- [root@CentOS5 ~]# pstree [-A|U] [-up]
- -A:各進程間連接用ASCII字元連接
- -U:該進程之間連接用utf8字元連接
- -p:同時顯示PID
- -u:同時列出每個進程的所屬賬號名稱
- [root@CentOS5 ~]# pstree -Aup
- init(1)- -acpid(2738)
- |-atd(2912)
- |-auditd(2399)- -audispd(2401)---{audispd}(2409)
- | `-{auditd}(2400)
- |-automount(2714)- -{automount}(2715)
- | |-{automount}(2716)
- | |-{automount}(2719)
- | `-{automount}(2722)
- |-avahi-daemon(2942,avahi)---avahi-daemon(2943)
- |-crond(2856)
- |-cupsd(2792)
- |-dbus-daemon(2582,dbus)---{dbus-daemon}(2583)
- |-dhclient(2342)
- |-events/0(5)
- |-gam_server(3016)
- ...(部分省略)...
本文出自 「Aixe」 博客,請務必保留此出處http://aixecc.blog.51cto.com/3931677/826916
[火星人 ] Linux 查看進程已經有727次圍觀