htop,glances,dstat命令使用

htop,glances,dstat命令簡單使用ios

 

  CPU中存在着有兩種指令,分別是特權指令和普通指令;特權指令是隻有內核纔有操做特權指令的權力,特權指令用於總線控制、IO控制、內存設備控制、CPU控制和磁盤讀寫控制;普通指令是應用程序發的。git

  特權指令是工做於內核模式中,而普通指令是工做於用戶模式。當一個應用程序要使用特權指令時,就須要經過系統調用(system call),此時會觸發一次軟中斷。github

  進程是有優先級的,優先級一共有140個數字從0-139,其中1-99爲實時優化級,數字越大優先級越高;100-139爲動態優先級,數字越小,優先級越高。網絡

  進程在執行過程當中有不少種變化,不一樣的變化表明不一樣的狀態,進程的狀態有:就緒態、運行態、睡眠態(可中斷睡眠、不可中斷睡眠)、中止態、僵死態。socket

   Linux系統運行中全部與內核相關的信息都存放在/proc僞文件系統中,每一個進程都有一個以其PID命名的子目錄,每一個子目錄中有許多目錄或文件存放與進程相關的狀態信息。ide

 

htop命令:工具

   htop命令是一個交互式的命令,它是用來取代top命令的,支持top命令的全部功能,如CPU利用狀況,內存使用狀況,進程狀態等等。優化

   htop的安裝介紹使用yum命令進行安裝,不過要把yum源指向epelspa

   epel鏡像地址:http://mirrors.fedoraproject.org/publiclist/EPEL/插件

 

1)安裝完htop後直接在命令行運行htop命令,將會出現如下的界面,是否是很好看呀!!!

                             wKioL1UugyPgkoAiAAyskINz-2s885.bmp

  注意:htop默認是按佔用CPU百分比進行排序的,可使用按「M」來以使用內存百分比排序,「T」是以佔用CPU累積時長排序,「P」是以佔用CPU百分比進行排序。

2)使用「u」來顯示指定用戶的進程

  在左邊列出了當前系統全部以用戶身份運行的用戶名,使用上下方向鍵來選擇相應的用戶,而後回車便可。

 wKioL1Uug2vhpFmTAAzd-K3hHDY730.bmp

3)查看當前系統上某進程所發起的系統調用

  若是要查看進程所發起的系統調用狀況,可使用字母「s」,在進程列表中使用上下方向鍵來選擇相關的進程,如咱們要查看/sbin/init進程所發起的系統調用。若是查看完之後想退出此界面,使用Esc鍵便可。

wKiom1UuglLBJav6AAzucLRlrKE271.bmp

4)查看某進程所打開的文件

  當咱們要知道某個進程打開了哪些文件時,選擇相應的進程,使用字母「l」鍵來查看,退出此界面按Esc鍵。若是一屏沒法顯示完全部的信息進,使用PgUPPgDn鍵進行翻屏。

wKioL1Uug9qiMzkZAAzd-NrAPwk069.bmp

 

glances命令

   glances命令是由Python編寫的,用於報告統計的CPU,內存,磁盤,進程,掛載,網絡狀態的。

安裝glances命令到官方站點下載:http://nicolargo.github.io/glances/,或把yum源指向epel使用yum命令安裝。

命令格式:

   glances  [-bdehmnrsvyz1] [-B bind] [-c server] [-Cconffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-ooutput]

 

(1)      關閉磁盤I/O功能模塊

使用glances -d命令選項,進行界面的顯示,glances也是一個交互式的界面,可使用幫助「h」,來更取交互式的幫助。

wKioL1UuhBzjB97dAAoZ0JyDzwU135.bmp

(2)      關閉glances顯示的進程列表,使用glances -r命令選項

wKiom1UugvnhFCqZAAoJWLLCvFY371.bmp

3)關閉網絡功能模塊,使用glances -n命令選項

wKioL1UuhImDxdqkAAoZ0HxlNDs393.bmp

 

dstat命令

   dstat是一個功能強大的軟件,它集合了vmstat, iostat, netstat and ifstat四個工具的功能,能夠實時的監控CPU,磁盤、網絡、IO、進程、內存等的使用狀態狀況。

    dstat是一個有不少參數,並支持插件,默認運行dstat是使用的dstat -cdngy參數。

命令格式:dstat [-afv] [options..] [delay [count]]

1)默認參數dstat命令的顯示界面,它默認是每一秒刷新一次。有點像ping命令同樣,一直顯示下去。

wKiom1Uug3Whnw43AASh-CV25X0787.bmp

分別顯示了有CPUDiskNetPageSystem信息:

 usr:用戶空間的程序佔用CPU百分比

 sys:內核空間運行內核中的內核代碼佔用CPU百分比

 idlCPU空閒百分比

 wai:等待IO完成佔據的百分比

 hiq:處理磁盤中斷佔據的CPU百分比

 siq:處理軟件中斷佔據的CPU百分比

 read:磁盤讀出的速率

 writ磁盤寫入的速率

 recv:網卡接收的速率

 send:網卡發送的速率

 in:內存頁框寫的速率

 out:內存頁模型讀出的速率

 int:系統的中斷次數

 csw:上下文切換次數

(2)      顯示最佔用CPU的進程,使用dstat --top-cpu命令選項

wKiom1Uug6Gyk_LOAAHrSNSzIWU845.bmp

3)查看最佔用內存的進程,使得dstat --top-mem命令選項

wKiom1Uug8ihN6jYAAK8ONJfoIM221.bmp

4)顯示全部套接字相關的數據,使得dstat --socket命令選項

wKiom1UuhB3wVWC9AALUuDo1GHw392.bmp

提示:更多的命令選項請man dstat獲取幫助。

相關文章
相關標籤/搜索