一、ps命令:只顯示命令運行這一刻的進程的狀態
(一) /proc/:內核中的狀態信息;通過這個接口輸出給用戶
1. 內核參數:
可設置參數:可設置其值從而調整內核運行特性的參數;/proc/sys/
狀態變量:其用於輸出內核中統計信息或狀態信息,僅用於查看;
2. 參數:參數被模擬成文件系統類型;
(二)進程:
/proc/#:在proc目錄下都有一個以進程號命名的目錄,這個目錄存放了進程當前狀態的各種信息
#:PID ,進程號
1號進程:init (三) ps - report a snapshot of the current processes.
1. 命令使用格式:
ps [options]:
2. 選項有三種風格:
UNIX options, which may be grouped and must be preceded by a dash.必須帶-
BSD options, which may be grouped and must not be used with a dash.一定不能帶-
GNU long options, which are preceded by two dashes.長格式選項帶--
3. 啓動進程的方式:
系統啓動過程中自動啓動:與終端無關的進程;
用戶通過終端啓動:與終端相關的進程;
4. 選項:
a:所有與終端相關的進程;
x:所有與終端無關的進程;
u:以用戶爲中心組織進程狀態信息顯示;
-f:顯示完整格式的進程信息
-F:顯示完整格式的進程信息;
C:cpu utilization,CPU上網佔用百分百
PSR:運行於哪顆CPU之上
-H:以層級結構顯示進程的相關信息;
5. 常用組合之一:aux,以PID號進行排序
USER:啓動進程的用戶
PID:進程號
%CPU:累計佔用CPU的時間
%MEM:佔整個內存的比例
VSZ:虛擬內存集;佔用的虛擬內存大小
RSS:Resident Size,常駐內存集;
STAT:當前進程的運行狀態
R:running,運行態
S:interruptable sleeping,可中斷睡眠
D:uninterruptable sleeping,不可中斷睡眠
T:Stopped,停止態
Z:zombie,僵死態
+:前臺進程
l:多線程進程
N:低優先級進程
<:高優先級進程
s:session leader,會話主導者
6. 常用組合之二:-ef
PPID:父進程號
STIME:啓動時間
TIME:累計運行時間
7. 常用組合之三:-eFH
8. 常用組合之四:-eo, axo,o一定要寫在最後,因爲它要帶參數
o field1, field2,...:自定義要顯示的字段列表,以逗號分隔;
常用的field:pid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio
ni:nice值;
priority:priority, 優先級;
rtprio:real time priority,實時優先級;
二、top命令:以動態方式顯示進程信息
- display Linux processes
(一)排序方式:
P:以佔據CPU百分比排序;默認排序方式
M:以佔據內存百分比排序;
T:累積佔用CPU時間排序;
(二)首部信息:
uptime命令:顯示系統時間、運行時長及平均負載;top命令的第一行的顯示信息
過去1分鐘、5分鐘和15分鐘的平均負載;
平均負載:等待運行的進程隊列的長度;
2. sks及cpu信息:t命令
(1) Cpu:
us:用戶空間的進程佔用的CPU百分比
sy:內核空間的內核佔用的CPU百分比
它們兩個的比例差不多是7:3左右
ni:優先級調整佔用的CPU的百分比
id:空閒百分比
wa:等待I/O完成所需要的時間
hi:處理硬件中斷所消耗的CPU百分比
si:處理軟中斷所消耗的CPU百分比
st:被虛擬化程序所偷走的CPU時間百分比
3. 內存信息:m命令
(1) Kib Mem:物理內存
total:總空間
free:空閒空間
used:已使用的空間
buff/cache:用於緩存和緩衝的空間,可以被回收直接使用
(2) Kib Swap:交換分區
total:總空間
free:空閒空間
used:已使用的空間
buff/cache:用於緩存和緩衝的空間,可以被回收直接使用
avail Mem:可用內存空間
(三)其他命令
1. 退出命令:q
2. 修改刷新時間間隔:s
3. 終止指定的進程:k
(四)選項:
1. -d #:指定刷新時間間隔,默認爲3秒;
2. -b:以批次方式顯示;
3. -n #:顯示多少批次;
三、htop命令
(一)基本操作
1.支持鼠標操作,例如點擊F1,會顯示幫助信息
(二)選項:
-d #:指定延遲時間間隔;
-u UserName:僅顯示指定用戶的進程;
-s COLUME:以指定字段進行排序;
(三)子命令:
l:顯示選定的進程打開的文件列表;
四、dstat命令:
- versatile tool for generating system resource statistics
(一)命令使用格式
dstat [-afv] [options..] [delay [count]]
(二)常用選項:
-c, --cpu:顯示cpu相關信息;
-C #,#,...,total
-d, --disk:顯示磁盤的相關信息
-D sda,sdb,...,tobal
-g:顯示page相關的速率數據;
-m:Memory的相關統計數據
-n:Interface的相關統計數據;
-p:顯示process的相關統計數據;
-r:顯示io請求的相關的統計數據;
-s:顯示swapped的相關統計數據;
--tcp :顯示tcp的相關數據
--udp:顯示udp的相關數據
--socket :顯示套接字的相關數據
--ipc :顯示進程間通信的相關數據
--top-cpu:顯示最佔用CPU的進程;
--top-io:最佔用io的進程;
--top-mem:最佔用內存的進程;
--top-lantency:延遲最大的進程;