Linux程序管理之“四大名捕”
一、四大名捕
四大名捕,最初出現於溫瑞安創作的武俠小說,是朝廷中正義力量諸葛小花的四大徒弟,四人各懷絕技,分別是輕功暗器高手“無情”、內功卓越的高手“鐵手”、腿功驚人的“追命”和劍法一流的“冷血”
本文四大名捕由linux命令所出演
無情:ps 出演
鐵手:dstat 出演
追命:top 出演
冷血:htop 出演
二、程序相關基礎知識
介紹四大名捕之前先介紹一下程序相關的基礎知識,話不多說,看圖。
三、輕功暗器高手“無情” [PS]
ps:用於顯示當前程序的狀態(非動態)
ps [options]:
選項有三種風格:
1、UNIX風格,必須在選項前面加“-”
2、BSD風格,選項前不能加“-”
3、GNU風格,選項前為兩個“-”
常用組合之一:aux
a:所有與終端相關的程序
x:所有與終端無關的程序
u:以使用者為中心組織程序狀態資訊顯示
CPU%:cpu時間佔用比率
MEM%:記憶體佔用百分比
VSZ:virtual size虛擬記憶體集;
RSS:Resident Size,常駐記憶體集;
STAT:
R:running 執行
S:interruptable sleeping 可中斷睡眠
D:uninterruptable sleeping 不可中斷睡眠
T:Stopped 停止
Z:zombie 僵死態
+:前臺程序
l:多執行緒程序
N:低優先順序程序
<:高優先順序程序
s:session leader 程序領導者
常用組合之二:-ef
-e:顯示所有程序
-f:顯示完整格式的程序資訊
常用組合之三:-eFH
-F:顯示完整格式的程序資訊;
C: cpu utilization cpu佔用百分比
PSR:運行於哪顆CPU之上
-H:以層級結構顯示程序的相關資訊;
常用組合之四:-eo, axo
o field1, field2,…:自定義要顯示的欄位列表,以逗號分隔
常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio
pid:程序的pid號
ni:nice值
priority:優先順序
psr:執行在那顆cpu
pcpu:cpu利用率
ppid:父程序的id號
rtprio:實時優先順序
四、內功卓越的高手“鐵手”[dstat]
dstat:系統資源統計命令(動態)
dstat [-afv] [options..] [delay [count]]常用選項:
-c, –cpu:顯示cpu相關資訊;
-C #,#,…,total:顯示第一個cpu,第二個cpu或者總共的
-d, –disk:顯示磁碟的相關資訊
-D sda,sdb,…,tobal:顯示指定硬碟裝置,總空間
-g:顯示page相關的速率資料;
-m:Memory的相關統計資料
-n:Interface的相關統計資料;
-p:顯示process的相關統計資料;
-r:顯示io請求的相關的統計資料;
-s:顯示swapped的相關統計資料;
–tcp:顯示tcp套接字
–udp:顯示udp連線
–raw:顯示裸套接字
–socket:套接字
–ipc:程序間通訊資訊
–top-cpu:顯示最佔用CPU的程序;
–top-io:最佔用io的程序;
–top-mem:最佔用記憶體的程序;
五、腿功驚人的“追命”[top]
top:列出inux程序
top為動態顯示程序
top命令個引數具體含義:
top – 14:58:34 up 5:28, 1 user, load average: 0.01, 0.02, 0.05
14:58:34:當前時間
up 5:28:執行時長
1 user:登入當前系統上的使用者數
load average: 0.01, 0.02, 0.05:平均負載(等待執行的佇列長度的負載)
Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombie
Tasks:任務
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:核心空間佔用時間的百分比
0.0 ni:對nice調整佔用的記憶體百分比
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:記憶體空間佔用,以KB為單位:
1001332 total:總記憶體空間
681052 free:剩餘記憶體空間
139844 used:已用記憶體空間
180436 buff/cache:用於快取和緩衝的記憶體空間
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:優先順序
NI:nice值
VIRT:virtual size虛擬記憶體集
RES:常駐記憶體集
SHR:共享記憶體空間
S:當前狀態
%CPU:佔據CPU百分比
%MEM:佔據MEM百分比
TIME+:執行時長
COMMAND:命令
top內排序:
P:以佔據CPU百分比排序
M:以佔據記憶體百分比排序
T:累積佔用CPU時間排序
首部資訊:
uptime資訊:l命令
# 第一行沒有顯示
tasks及cpu資訊:t命令
# 可以禁用顯示硬碟及cpu相關訊息
記憶體資訊:m命令
# 可以將記憶體使用率用|||顯示 或者白空格顯示
退出命令:q
修改重新整理時間間隔:s
終止指定的程序:k
選項:
-d #:指定重新整理時間間隔,預設為3秒;
-b:以批次方式顯示;
-n #:顯示多少批次;
六、劍法一流“冷血”[htop]
htop:互動式程序檢視器
htop [-dus]# htop 是一個非常強大的工具,下面從F1到F10可以看到具體的引數資訊。
# F1 :幫助資訊
選項:
-d #:指定延遲時間間隔
-u UserName:僅顯示指定使用者的程序
-s COLUME:以指定欄位進行排序
常用子命令:
l:顯示選定的程序開啟的檔案列表
s:跟蹤選定的程序的系統呼叫
t:以層級關係顯示各程序狀態
a:將選定的程序繫結至某指定的CPU核心
# 此處可以新增指定項到顯示螢幕上面,顯示方式可以是[Bar] [Text] [Graph] [LED]
程序管理相關命令就介紹到這了,如果有不同意見可以慷慨提出!
來自:來自http://www.tiejiang.org/5110.html