系統監控工具htop、glances、dstat介紹
背景:企業生產環境中,諸多數用戶喜歡使用各種發行版自帶的top工具來監控系統,但是有些時候想要通過top尋找一個佔用系統資源比較大的應用或進程可能會比較困難。 因爲 top 命令本身並不會幫助我們高亮那些佔用系統資源比較多的進程。這裏介紹下相對top更加犀利的監控工具。
htop:是top的增強版。一款支持鼠標操作、高亮以及自動排序等多功能動態系統監測工具。可以定義指定刷新時
間以及交互式操作。系統沒有自帶,所以需要我們自行安裝。先來看一下它華麗的界面。
下面來介紹下這個界面:
圖片中CPU、memory、swap界面都以條狀和數字形式顯示了直觀可見。load average(平均負載)表示當前cpu上等待運行的進程隊列的隊列長度,如長度爲1表示1個進程,其三個值分別表示
過去1分鐘、5分鐘、15分鐘進程隊列的平均長度。其值越大表示當前cpu的負載越高而且還可以使用htop後跟 選項:-d #: 刷新時間間隔 ,-u USERNAME: 僅顯示指定用戶的進程 -s COLUMN: 以
指定的字段進行排序。
上面這些選項,可以通過鼠標點擊實現自動排序。使用F1鍵可以獲取幫助。F10鍵退出。當然也可以使用鼠標點擊。
s跟蹤選定進程發起的系統調用,想跟蹤某進程直接鼠標選中-->鍵入s進入跟蹤進程的界面,按ESC鍵結束跟蹤。l跟蹤選定進程運行時打開的文件,鼠標先選中進程-->鍵入l進入跟蹤進程的
界面,按F5刷新-->按ESC鍵結束跟蹤。t鍵還有目錄樹等功能。怎麼樣是不是很強大!
glances:Glances 是一個用來監視 GNU/Linux 和 FreeBSD 操作系統的 GPL 授權的自由軟件。Glances 同時也提供了很多實用的選項。 通過 Glances,我們可以監視 CPU,平均負載,內存,網絡流量,磁盤 I/O,其他處理器和文件系統 空間的利用情況。
同樣的glances也需要自行安裝,其中m鍵表示按memory排序,c鍵表示按照CPU佔用排序。更多我們通過,按h獲取幫助。
除此之外,glances的強大之處還在於其支持{HTML和CSV}查看。例如: 首先安裝nginx模塊啓動nginx服務-->glances -o HTML -f /usr/share/nginx/html/。
dstat:是一個實時刷新的工具,功能也是非常強大。total-cpu-usage表示cpu的使用率統計;-dsk/total表示磁盤讀寫速率;net/total表示網絡傳輸速率;paging表示內存頁換進換出情況;system表示中斷以及上下文切換。
dstat -c:僅統計cpu的使用狀況。 -d:僅顯示磁盤相關的使用情況。-g:僅顯示內存頁面換進換出的狀況。-n:僅顯示網絡傳輸的狀況。 --io:僅顯示IO設備的讀寫速率狀況。其中CPU的幾個參數usr: user space。 sys: system、 idl: idle wai: waiting IO 、hiq: hardware interrupt 、si: software interrupt
--aio: 顯示異步io統計數據
--ipc: ipc相關的信息
--raw: raw socket
--tcp: tcp socket
--udp: udp socket
--socket: raw, tcp, udp
--unix: unix sock
--top-cpu:顯示最佔用CPU的進程
--top-bio:顯示最佔用block IO的進程
--top-mem: 顯示最耗費內存的進程
--top-io:最佔用IO的進程