htop,glances,dstat命令使用

htop,glances,dstat命令簡單使用

 

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

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

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

  進程在執行過程中有很多種變化,不同的變化代表不同的狀態,進程的狀態有:就緒態、運行態、睡眠態(可中斷睡眠、不可中斷睡眠)、停止態、僵死態。

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

 

htop命令:

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

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

   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獲取幫助。

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章