天天看點

htop指令的使用

htop指令的使用

      在 Linux 系統中,top指令可以用來顯示系統中正在運作的程序的實時狀态,它顯示了一些非常有用的資訊,比如CPU、記憶體消耗、及程序情況等。但還有一個比 top 指令功能更為實用,或者說是top的增強版——htop,它比top有着更加強大的功能并能顯示更多的資訊。

htop指令的使用

      htop是Linux系統下一個基本文本模式的、互動式的程序檢視器,與系統預設自帶的top 程式相比,htop有如下優點:

1)可以将CPU、記憶體、交換分區等使用狀态可以很形象的用進度條表示出來,使得我們可以更加直覺的檢視到伺服器關鍵性能統計資料;
2)支援垂直和水準方向上滾動浏覽程序清單,以檢視所有的程序和完整的指令行,而且支援程序樹方式進行顯示;
3)可以根據關鍵字搜尋相關的程序,而且不需要輸入相關程序号,直接殺掉相關程序;
4)可以通過滑鼠進行相關操作,擁有比top程式更多的選項和功能。      
htop指令的使用

      htop指令系統預設是不安裝的,而且紅帽的官方軟體安裝庫中也是不帶的,如果需要使用htop指令,需要我們自行進行安裝,這裡我以CentOS 7為例進行示範:

      首先下載下傳epel(RHEL 7)的epel源到/etc/yum.repos.d/目錄中,我這裡用的是阿裡雲的yum源。

[root@xlogin ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@xlogin ~]# yun -y install htop      
htop指令的使用

      你也可以通過以下途徑擷取htop:

http://sourceforge.net/projects/htop/
http://hisham.hm/htop      
htop指令的使用

      安裝完成後,直接運作htop指令:

htop指令的使用

      在視窗的左上角部分,顯示的是 CPU 負載、記憶體消耗及交換空間的實時資訊,右邊顯示任務(Tasks)、平均負載(Load average)、系統目前時間(Time)、系統運作時間(uptime),下面就是程序實運作狀況,最後一行是F1——F10的功能菜單和對應的字母快捷鍵。

      平均負載部分提供了三個數字,表示的是在過去的5分鐘、10分鐘和15分鐘系統的平均負載,假如伺服器是單核CPU,平均負載如果為1,則意味着CPU的使用率是百分之百的。

htop指令的使用
PID:程序标志号,是非零正整數
USER:程序所有者的使用者名
PR:程序的優先級别
NI:程序的優先級别數值(nice值)
VIRT:virtual memory usage,虛拟記憶體集,程序占用的虛拟記憶體值
RES:resident memory usage,常駐記憶體集,程序占用的實體記憶體值
SHR:shared memory。共享記憶體,程序使用的共享記憶體值
S:程序的狀态,其中S表示休眠,R表示正在運作,Z表示僵死狀态,N表示該程序優先值是負數
%CPU:該程序占用的CPU使用率
%MEM:該程序占用的實體記憶體和總記憶體的百分比
TIME+:該程序啟動後占用的總的CPU時間
COMMAND:程序啟動的啟動指令名稱      

     htop常用功能鍵:

htop指令的使用
            F1 : 檢視htop使用說明
            F2 : 設定
            F3 : 搜尋程序
            F4 : 過濾器,按關鍵字搜尋
            F5 : 顯示樹形結構,功能類似于pstree指令
            F6 : 選擇排序方式
            F7 : 減少nice值,這樣就可以提高對應程序的優先級
            F8 : 增加nice值,這樣可以降低對應程序的優先級
            F9 : 殺掉選中的程序
            F10 : 退出htop
            
             / : 搜尋字元
            h : 顯示幫助
            l :顯示程序打開的檔案: 如果安裝了lsof,按此鍵可以顯示程序所打開的檔案
            u :顯示所有使用者,并可以選擇某一特定使用者的程序
            s : 将調用strace追蹤程序的系統調用
            t : 顯示樹形結構

            H :顯示/隐藏使用者線程
            I :倒轉排序順序
            K :顯示/隐藏核心線程    
            M :按記憶體占用排序
            P :按CPU排序    
            T :按運作時間排序      

      這裡以關鍵字搜尋功能為例:按下F4鍵後,出現關鍵字輸入,我們嘗試搜尋關鍵字為dh的程序,比對到的進行就顯示出來了。

htop指令的使用

      除了上面介紹的一些熱鍵,htop 還提供了很有用的指令行選項。

      下面列舉幾個htop常用選項:

    -s COLUME選項: 按指定的列排序。例如,htop -s PID 指令會按 PID 列的大小排序來顯示。
    -u UserName選項: 顯示指定的使用者的程序資訊清單。
    -d 選項: 設定重新整理的延遲時間。例如,htop -d 100 指令會使輸出在1秒後才會重新整理(參數 -d 的機關是10微秒)。      

      例如,htop -u postixf指令會隻顯示出使用者名為postixf的相關程序。

htop指令的使用

    另外htop還有幾個子指令:

l:顯示標明的程序打開的檔案清單;
	s:跟蹤標明的程序的系統調用;
	t:以層級關系顯示各程序狀态;
	a:将標明的程序綁定至某指定的CPU核心;      

      這裡以我們以rsyslogd程序為例,使用上下方向鍵選擇rsyslogd程序後,按下l會顯示出rsyslogd程序打開的所有檔案清單。

htop指令的使用
htop指令的使用

      在系統中運作着的實時程序視圖中,要追蹤某個程序是個挺麻煩的問題。因為整個清單在不停的重新整理着,程序的排列順序也在變動着。對于此,htop 提供了一個很簡單的解決方案:顔色标注。你可以标注一個程序條目,它會以不同與其他程序的顔色顯示,是以要追蹤它就變得容易了。要标注某個程序條目,需要做的就是選中此條目,然後按下“空格”鍵。例如,在下面的截圖示例中,我已經顔色标注了三個程序:

htop指令的使用

   最後,我們再以F2功設定為例:

通過F2功能設定功能,我們可以使用F5或F6分别添加到上方的左側或右側,F9可移除等等。每個條目都支援四種顯示方式:Text、Bar、Graph、LED,個人感覺LED顯示效果還是比較更為好看點,但是Graph卻也更為直覺些,哈哈。

這裡都是支援滑鼠操作的,看看下邊這個圖,簡單地設定下,就足以令top指令該羞愧而死了吧!

htop指令的使用

       另外按F2後出現的Display options也是個好東西哦!

htop指令的使用

      比如我這邊一台阿裡雲的伺服器,在使用htop檢視程序資訊的時候,經常會出現很多個程序重複的情況,大家直接看下在選擇Hide userland threads前後的差別吧!

      這是我們以AliY為關鍵字搜尋,沒有選擇Hide userland threads前的情況;

htop指令的使用

    同樣以AliY為關鍵字搜尋,這是選擇Hide userland threads後的截圖;