歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

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:實時優先級
-L:顯示進程中的線程ID;

四、內功卓越的高手“鐵手”[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]



進程管理相關命令就介紹到這了,如果有不同意見可以慷慨提出!
Copyright © Linux教程網 All Rights Reserved