Linux進程管理之“四大名捕”
原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。http://xinzong.blog.51cto.com/10018904/1755060
一、四大名捕
四大名捕,最初出現(xiàn)于溫瑞安創(chuàng)作的武俠小說,是朝廷中正義力量諸葛小花的四大徒弟,四人各懷絕技,分別是輕功暗器高手“無情”、內(nèi)功卓越的高手“鐵手”、腿功驚人的“追命”和劍法一流的“冷血”
本文四大名捕由linux命令所出演
- 無情:ps 出演
- 鐵手:dstat 出演
- 追命:top 出演
- 冷血:htop 出演
二、進程相關(guān)基礎(chǔ)知識
介紹四大名捕之前先介紹一下進程相關(guān)的基礎(chǔ)知識,話不多說,看圖。
三、輕功暗器高手“無情” [PS]
ps:用于顯示當(dāng)前進程的狀態(tài)(非動態(tài))
ps [options]:
選項有三種風(fēng)格:
1、UNIX風(fēng)格,必須在選項前面加“-”
2、BSD風(fēng)格,選項前不能加“-”
3、GNU風(fēng)格,選項前為兩個“-”
常用組合之一:aux
a:所有與終端相關(guān)的進程
x:所有與終端無關(guān)的進程
u:以用戶為中心組織進程狀態(tài)信息顯示
CPU%:cpu時間占用比率
MEM%:內(nèi)存占用百分比
VSZ:virtual size虛擬內(nèi)存集;
RSS:Resident Size,常駐內(nèi)存集;
STAT:
R:running 運行
S:interruptable sleeping 可中斷睡眠
D:uninterruptable sleeping 不可中斷睡眠
T:Stopped 停止
Z:zombie 僵死態(tài)
+:前臺進程
l:多線程進程
N:低優(yōu)先級進程
<:高優(yōu)先級進程
s:session leader 進程領(lǐng)導(dǎo)者
常用組合之二:-ef
-e:顯示所有進程
-f:顯示完整格式的進程信息
常用組合之三:-eFH
-F:顯示完整格式的進程信息;
C: cpu utilization cpu占用百分比
PSR:運行于哪顆CPU之上
-H:以層級結(jié)構(gòu)顯示進程的相關(guān)信息;
常用組合之四:-eo, axo
o field1, field2,...:自定義要顯示的字段列表,以逗號分隔
常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio
pid:進程的pid號
ni:nice值
priority:優(yōu)先級
psr:運行在那顆cpu
pcpu:cpu利用率
ppid:父進程的id號
rtprio:實時優(yōu)先級
四、內(nèi)功卓越的高手“鐵手”[dstat]
dstat:系統(tǒng)資源統(tǒng)計命令(動態(tài))
dstat [-afv] [options..] [delay [count]]
常用選項:
-c, --cpu:顯示cpu相關(guān)信息;
-C #,#,...,total:顯示第一個cpu,第二個cpu或者總共的
-d, --disk:顯示磁盤的相關(guān)信息
-D sda,sdb,...,tobal:顯示指定硬盤設(shè)備,總空間
-g:顯示page相關(guān)的速率數(shù)據(jù);
-m:Memory的相關(guān)統(tǒng)計數(shù)據(jù)
-n:Interface的相關(guān)統(tǒng)計數(shù)據(jù);
-p:顯示process的相關(guān)統(tǒng)計數(shù)據(jù);
-r:顯示io請求的相關(guān)的統(tǒng)計數(shù)據(jù);
-s:顯示swapped的相關(guān)統(tǒng)計數(shù)據(jù);
--tcp:顯示tcp套接字
--udp:顯示udp連接
--raw:顯示裸套接字
--socket:套接字
--ipc:進程間通信信息
--top-cpu:顯示最占用CPU的進程;
--top-io:最占用io的進程;
--top-mem:最占用內(nèi)存的進程;
五、腿功驚人的“追命”[top]
top:列出inux進程
top為動態(tài)顯示進程
top命令個參數(shù)具體含義:
top - 14:58:34 up 5:28, 1 user, load average: 0.01, 0.02, 0.05
14:58:34:當(dāng)前時間
up 5:28:運行時長
1 user:登錄當(dāng)前系統(tǒng)上的用戶數(shù)
load average: 0.01, 0.02, 0.05:平均負(fù)載(等待運行的隊列長度的負(fù)載)
Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombie
Tasks:任務(wù)
353 total:一共運行多少進程
2 running:幾個處于運行
351 sleeping:多少個睡眠
0 stopped:多少個停止
0 zombie:多少個僵死
%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu:cpu占用百分比
0.0 us:用戶空間占用的百分比
0.7 sy:內(nèi)核空間占用時間的百分比
0.0 ni:對nice調(diào)整占用的內(nèi)存百分比
99.3 id:空閑百分比
0.0 wa(wait):等待IO完成所消耗的百分比
0.0 hi:處理硬件中斷所占用的百分比
0.0 si:處理軟件中斷所占用的百分比
0.0 st:被偷走的百分比(虛擬化程序)
KiB Mem : 1001332 total, 681052 free, 139844 used, 180436 buff/cache
KiB Mem:內(nèi)存空間占用,以KB為單位:
1001332 total:總內(nèi)存空間
681052 free:剩余內(nèi)存空間
139844 used:已用內(nèi)存空間
180436 buff/cache:用于緩存和緩沖的內(nèi)存空間
KiB Swap: 2098172 total, 2098172 free, 0 used. 698100 avail Mem
KiB Swap:swap空間占用,以KB為單位
2098172 total:總空間
2098172 free:剩余空間
0 used:已用空間
698100 avail Mem :有效swap大小
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3077 root 20 0 146276 2256 1420 R 1.7 0.2 0:02.91 top
PID:用戶pid
USER:用戶名稱
PR:優(yōu)先級
NI:nice值
VIRT:virtual size虛擬內(nèi)存集
RES:常駐內(nèi)存集
SHR:共享內(nèi)存空間
S:當(dāng)前狀態(tài)
%CPU:占據(jù)CPU百分比
%MEM:占據(jù)MEM百分比
TIME+:運行時長
COMMAND:命令
top內(nèi)排序:
P:以占據(jù)CPU百分比排序
M:以占據(jù)內(nèi)存百分比排序
T:累積占用CPU時間排序
首部信息:
uptime信息:l命令
# 第一行沒有顯示
tasks及cpu信息:t命令
# 可以禁用顯示硬盤及cpu相關(guān)消息
內(nèi)存信息:m命令
# 可以將內(nèi)存使用率用|||顯示 或者白空格顯示
退出命令:q
修改刷新時間間隔:s
終止指定的進程:k
選項:
-d #:指定刷新時間間隔,默認(rèn)為3秒;
-b:以批次方式顯示;
-n #:顯示多少批次;
六、劍法一流“冷血”[htop]
htop:交互式進程查看器
htop [-dus]
# htop 是一個非常強大的工具,下面從F1到F10可以看到具體的參數(shù)信息。
# F1 :幫助信息
選項:
-d #:指定延遲時間間隔
-u UserName:僅顯示指定用戶的進程
-s COLUME:以指定字段進行排序
常用子命令:
l:顯示選定的進程打開的文件列表
s:跟蹤選定的進程的系統(tǒng)調(diào)用
t:以層級關(guān)系顯示各進程狀態(tài)
a:將選定的進程綁定至某指定的CPU核心
# 此處可以添加指定項到顯示屏幕上面,顯示方式可以是[Bar] [Text] [Graph] [LED]
進程管理相關(guān)命令就介紹到這了,如果有不同意見可以慷慨提出!