Linux進程監控管理工具詳解

在上一節我們介紹了一些常用進程管理命令用法,但在實際生產環境運用時,我們可能需要動態持續的監控進程的運行狀態,此時我們就需要top,htop,iotop、glances等命令工具來實現。

上一節我們介紹了一些常用進程管理命令用法,但在實際生產環境運用時,我們可能需要動態持

續的監控進程的運行狀態,此時我們就需要top,htop,iotop、glances等命令工具來實現。

timg_image&quality=80&size=b9999_10000&sec=1525504262285&di=dbe4a9f24bbab827143d

本節索引:

一、top——進程監控工具

二、htop——top增強版進程監控工具

三、iotop、iostat——磁盤讀寫監控工具

四、vmstat——虛擬內存統計工具

五、glances——可跨平臺系統監控工具

六、dstat——多功能整合系統監控工具

 

 

一、top——進程監控工具

相對于ps而言,ps顯示的是某個時間點的進程狀態信息,top命令工具類似于windows系統的任務管理器,

可以動態的持續監控進程的運行狀態

top

每一行的代表的含義為:

第一行:

1.當前系統時間

2.系統已啟動的時間

3.當前登錄用戶數

4.系統平均負載(1min、5min、15min),超過1表示負載過高

第二行:

當前進程的總量,以及處于各種狀態的進程的數量,要注意最后的zombie,不為0

要及時查看哪個進程處于僵死狀態

第三行:CPU的整體負載,多核CPU可按1切換不同CPU的負載率

us:user space?????? 用戶運行程序占用CPU百分比

sy:system???? 用于運行內核占用CPU百分比

ni:nice用戶進程空間所改變過優先級的進程占用CPU百分比

id:idle?? 空閑CPU百分比

wa:wait to?? 等待I/O花費時間

hi:hardware interrupt 硬件中斷占用CPU的百分比

si:software interrupt 軟件中斷占用CPU的百分比

st:stolen?????? 被偷走的CPU百分比,一般為虛擬機占用

第四行:表示物理內存的使用情況

第五行:表示交換分區的使用情況

第六行:這里默認顯示空白,可以輸入指令,包括:

P?????? 以占據的CPU百分比大小排序

M???? 以內存占比大小排序

T?????? CPU累加占用時間排序

l??????? 是否顯示系統負載行

t?????? 是否顯示進程摘要信息及CPU負載狀態

1?????? 數字1,平均或單獨顯示各CPU負載信息

m???? 是否顯示內存相關狀態信息

q?????? 退出

s?????? 修改延遲時長

k?????? 終止指定進程

 

top輸出下面的部分:

PID?? 進程ID

USER??????? 進程所有者

PR??? 進程優先級,越小優先級越高

NI???? nice優先級,越小優先級越高

VIRT???????? 進程需要占用的內存大小

RES? 進程當前實際占用內存大小

SHR? 進程與其他進程恭喜的內存大小

S?????? 進程狀態

%CPU?????? CPU占有率

%MEM???? 內存使用率

TIME+????? 進行CPU使用時間累加

COMMAND 進程或命令名稱

 

二、htop——top增強版進程監控工具

htop是top命令工具的增強版,系統默認沒有按照,需epel源進行安裝

htop

交互式命令:

u?????? 選擇顯示指定用戶的進程

l??????? 顯示光標所在進程縮打開的文件列表

s?????? 顯示光標所在進程執行的系統調用

a?????? 綁定進程到指定cpu(退出htop失效)

#?????? 快速定位光標至PID為#的進程上

htop支持的一些信息

-d #? 延遲時長

-u USERNAME:顯示指定用戶的進程

-s COLUMN:根據指定字段進行排序

 

 

三、iotop、iostat——磁盤讀寫監控工具

iotop命令是一個用來監視磁盤I/O使用狀況的top類工具iotop具有與top相似的UI,其

中包括PID、用戶、I/O、進程等相關信息,可查看每個進程是如何使用IO

iotop

每一行的代表的含義為:

第一行:Read和Write速率總計

第二行:實際的Read和Write速率

第三行:參數如下:

TID??????????????????? 線程ID(按p切換為進程ID)

PRIO????????????????????????? 優先級

USER???????????????????????? 用戶

DISK READ??????????????? 磁盤讀速率

DISK WRITE????????????? 磁盤寫速率

SWPIN?????????????????????? swap交換百分比

IO>??????????????????? IO等待所占的百分比

COMMAND?????????????????????? 線程/進程命令

 

交互按鍵

left和right方向鍵:改變排序

r:反向排序

o:切換至選項–only

p:切換至–processes選項

a:切換至–accumulated選項

q:退出

i:改變線程的優先級

 

iotop支持的選項:

-o, –only???????? 只顯示正在產生I/O的進程或線程,除了傳參,可以在運行過程中按o生效

-b, –batch??????????????? 非交互模式,一般用來記錄日志

-n NUM, –iter=NUM????? 設置監測的次數,默認無限。在非交互模式下很有用

-d SEC, –delay=SEC??????? 設置每次監測的間隔,默認1秒,接受非整形數據例如1.1

-p PID, –pid=PID???? 指定監測的進程/線程

-u USER, –user=USER??? 指定監測某個用戶產生的I/O

-P, –processes???????????????? 僅顯示進程,默認iotop顯示所有線程

-a, –accumulated?? 顯示累積的I/O,而不是帶寬

-k, –kilobytes????????? 使用kB單位,而不是對人友好的單位。在非交互模式下,腳本編程有用

-t, –time ??????????????? 加上時間戳,非交互非模式

-q, –quiet ?????????????? 禁止頭幾行,非交互模式,有三種指定方式

-q ??????????? 只在第一次監測時顯示列名

-qq ???????? 永遠不顯示列名

-qqq ??????????????? 永遠不顯示I/O匯總

 

 

iostat??????????????? 統計cpu和設備IO信息

iostat

第一段顯示:內核版本(主機名) 當前日期? 架構類型? 核心數

第二段顯示:cpu平均利用率

第三段顯示:磁盤讀寫速度(kb/s)

 

四、vmstat——虛擬內存統計工具

通過top、htop我們可以獲得一些進程對系統資源的使用情況,而vmstat則可以通過

內存、磁盤、網絡、CPU來動態顯示系統資源的使用情況。

格式:vmstat [options][delay [count]]

選項:

-s????????????? 顯示內存的統計數據

-d????????????? 顯示磁盤的統計數據

vmstat

vmstat輸出含義:

procs:

r:可運行進程的個數,和核心數有關

b:處于不可終端睡眠狀態

memory:

swpd:交換內存的使用總量

free:空閑物理內存總量

buffer:用于buffer的內存總量

cache:用于cache的內存總量

swap:

si:從磁盤交換進內存的數據速率(kb/s)

so:從內存交換至磁盤的數據速率(kb/s)

io:

bi:從塊設備讀入數據到系統的速率(kb/s)

bo:保存數據至塊設備的速率(kb/s)

system:

in:interrupts 中斷速率,包括時鐘

cs:進程切換速率

cpu:

us:user space?????? 用戶運行程序占用CPU百分比

sy:system???? 用于運行內核占用CPU百分比

id:idle?? 空閑CPU百分比

wa:wait to?? 等待I/O花費時間

st:stolen?????? 被偷走的CPU百分比,一般為虛擬機占用

 

五、glances——可跨平臺系統監控工具

glances是一款系統監視工具,能夠監視CPU、負載、內存、磁盤I/O、網絡流量、文件

系統、系統溫度等信息。centos系統默認不安裝glances工具,需手動安裝(epel源)

glances

glances可提供的監視和分析性能數據功能包括:

1.CPU使用率

2.內存使用情況

3.內核統計信息和運行隊列信息

4.磁盤I/O速度、傳輸和讀/寫比率

5.文件系統中的可用空間

6.磁盤適配器

7.網絡I/O速度、傳輸和讀/寫比率

8.頁面空間和頁面速度

9.消耗資源最多的進程

10.計算機信息和系統資源

 

常用選項:

-b: 以Byte為單位顯示網卡數據速率

-d: 關閉磁盤I/O模塊

-f: /path/to/somefile: 設定輸入文件位置

-o: {HTML|CSV}:輸出格式

-m: 禁用mount模塊

-n: 禁用網絡模塊

-t #: 延遲時間間隔

-1:? 每個CPU的相關數據單獨顯示

 

支持遠程模式,可在C/S模式下運行glances命令:

注:glances版本最好一樣

服務器模式:

glances -s -B IPADDR

IPADDR: 指明監聽的本機哪個地址

客戶端模式:

glances -c IPADDR

IPADDR:要連入的服務器端地址

 

 

六、dstat——多功能整合系統監控工具

dstat是一個多功能工具,他包含了vmstat,iostat,netstat這些命令的功能,并

增加了監控項,變得更加靈活。dstat可用于基準測試和排除故障。

默認情況下,dstat每秒刷新一次并顯示結果,可按ctrl+c退出

dstat

每一區列代表的含義:

total-cpu-usage?????????????? CPU使用率

dsk/total????????? 磁盤讀寫總數

net/total????????? 網絡設備發送和接收數據的總數

paging?????????????????????? 系統的分頁活動,大多數情況我們希望此處兩項為0

system????????????????????? 顯示中斷和上下文切換。只在有比較基線時才有意義。這一欄較高

的統計值通常表示大量進程造成擁塞

 

dstat支持的選項:

-c???? 顯示cpu性能指標相關統計數據

-d???? 顯示磁盤disk相關速率

-g???? 顯示page相關速率數據

-m??? 顯示內存memory相關統計數據

-n???? 顯示網絡network相關統計數據

-p???? 顯示進程process相關統計數據

-r????? 顯示io請求相關統計數據

-s????? 顯示swap的相關數據

長選項:

–top-cpu???????? 顯示最占用CPU的進程

–top-io?? 顯示最占用io的進程

–top-mem????? 顯示最占用內存的進程

–top-latency? 顯示延遲最大的進程

–tcp????????????????? 顯示tcp套接字相關數據

–udp???????????????? 顯示udp套接字相關數據

–unix??????????????? 顯示unix sock接口相關統計數據

–raw??????????????? 顯示raw套接的相關數據

–socket 顯示套接相關數據

–ipc???????? 顯示進程間通信相關的速率數據

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97529

(0)
wangxczwangxcz
上一篇 2018-05-05
下一篇 2018-05-05

相關推薦

欧美性久久久久