進程列表查看,系統資源使用情況查看,比如CPU占用情況,內存使用情況,網絡IO,硬盤IO等等。本文介紹的幾款工具幫您實現。
進程是指運行中的程序的一個副本,進程的有關信息映射在/proc/#下,ps等工具通過加工/proc/下文件而顯示出進程列表。
linux內核屬于搶占式多任務式,內核將CPU處理時間按時間片分配給各個進程,這里有一個優先級的問題,優先級越高,最先被處理。
進程有140個隊列,0~139。
1-99屬于實時優先級,數字越大優先級越高;
100-139屬于靜態優先級,數字越小優先級越高,對應著nice值-19~20,可以調整nice值來改變進程優先級。
再來簡單介紹進程狀態:
1、運行態:running,正在運行的進程,或是等待運行在CPU隊列上。
2、睡眠態:分為兩種
(1)可中斷:Interruptable,接受控制信號
(2)不可中斷:Uninterruptable,不接受控制信號
3、停止態:stopped,暫停與內存中,除非手動調度。
4、僵死態:zombie,執行完畢的進程,等待釋放資源。
一、ps命令
ps – 報告當前進程的快照。
ps命令接受3種風格的選項指定:
1、BSD風格,選項不帶“-”
2、UNIX風格,選項帶“-”
3、GNU風格,長選項“–”
1、BSD風格
選項
a:所有與終端相關的進程
x:所有與終端無關的進程
u:以用戶為中心組織進程狀態信息
o:指定顯示字段
常用字段:pid,ni,psr,pcpu,pmem,priority,stat,comm
常用組合ps aux ,ps axo user,pid,comm
對第一行字段中
VSZ:占用的虛擬內存集大小
RSS:Resident Size,常駐內存集大小
STAT:進程狀態
R:runing
S:interruptable sleeping
D:uninterruptable sleeping
T:stopped
Z:zombie
+:表示前臺進程
s:session leader,擁有子進程
l:多線程的進程
N:低優先級進程
<:高優先級進程
L:在內存中有鎖定的頁
2、UNIX風格
選項
-e:顯示所有進程
-f:顯示完整格式
-F:顯示更多字段
-o:自定義字段顯示
-H:顯示層級結構
常用組合:ps -ef,ps -efH,ps -eo pid,pcpu,comm
C:cpu占用百分比
二、top命令
top – 顯示linux任務列表
動態方式提供運行系統視圖,顯示匯總信息及進程列表。
常用選項
-d # 指定刷新間隔時間
-b 以批次顯示,用于輸出
-n # 顯示多少批次
-M/G 指定內存單位,默認為KB
$ top -M
load average:過去1分鐘,5分鐘,15分鐘的平均負載,等待CPU隊列長度。
Cpu一行:
us:用戶空間
sy:系統空間
ni:nice進程
id:空閑進程
wa:等待io進程
hi:硬中斷
si:軟中斷
st:steal,虛擬化占用的百分比
進程列表字段
VIRT:Virtual Image (kb),虛擬內存集
RES:Resident size (kb),常駐內存集
SHR:Shared Mem size (kb),共享內存集
交互按鈕
1)排序
P:按占用cpu百分比排序
M:按占用內存排序
T:按累積占用cpu時間排序
R:反轉排序次序
<,>:移動排序的字段
2)修改刷新時間:s
3)停止進程:k
4)退出:q
三、htop命令
htop類似與top工具,但是支持垂直和水平滾動,這樣可以看到所有進程的信息。
另外使用htop需要從epel源安裝。
用法:htop [-dChusv]
-d 刷新間隔,單位十分之一秒
-p pid… 查看指定pid列表
-u 查看指定用戶的進程列表
快捷鍵F1~F10,幫助,設置,查詢,過濾,樹形結構,排序選擇,nice值更改,停止進程,退出。
幾項特別功能快捷鍵:
l:列出進程打開的文件列表
s:跟蹤選定進程的系統調用
t:層級結構關系顯示
a:綁定指定CPU
四、dstat命令
dstat – 用來生成系統資源統計數據的多功能工具,十分強大。
dstat可以取代vmstat,iostat,ifstat工具。dstat克服了一些老工具的短板問題,而且新加很多功能。
另外需要從epel源安裝。
用法: dstat [-afv] [options..] [delay [count]]
選項:
-c 顯示cpu統計
-C #,# 顯示指定cpu統計。以下大寫選項均類似。
-d 顯示磁盤統計
-D sda
-n 顯示網絡統計(接收,發送)
-N eth0
-m 顯示內存統計
-s 顯示交互分區統計
-r 顯示IO請求統計
-g 顯示page相關速率統計(page in, page out)
-p 顯示進程相關統計(runnable, uninterruptible, new)
-y 顯示系統統計(interrupts, context switches)
默認選項為-cdngy
$ dstat
$ dstat -v #equals -pmgdsc -D total
長選項:
–fs 顯示文件系統統計(open files, inodes)
–tcp 顯示tcp統計(listen, established, syn, time_wait, close)
–udp 顯示udp統計
–raw 顯示裸套接字統計
–socket 顯示套接字統計(total, tcp, udp, raw, ip-fragments)
插件:
dstat支持用戶開發插件加入到dstat中,下面介紹一些實用插件
–freespace 文件系統使用量
–top-bio 最耗費塊設備IO的進程
–top-io 最耗費IO的進程
–top-cpu 最耗費cpu的進程
–top-cputime 占用cpu時間最多的進程
–top-mem 最耗費內存的進程
–top-latency 延遲最大的進程
$ dstat --top-{io,bio,cpu,cputime,mem,latency}
原創文章,作者:cutemsyu,如若轉載,請注明出處:http://www.www58058.com/47395