Linux 進程管理之四大名捕
來源: https://www.cnblogs.com/sanyuanempire/p/6168534.html
一、四大名捕
四大名捕,最初出現於溫瑞安創作的武俠小說,是朝廷中正義力量諸葛小花的四大徒弟,四人各懷絕技,分別是輕功暗器高手 “無情”、內功卓越的高手 “鐵手”、腿功驚人的 “追命” 和劍法一流的 “冷血”。
本文四大名捕由 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]
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/UrzjkBUaQSK0-P41ZU5QiQ