htop 簡介
htop類似于 top 指令,但可以讓你在垂直和水準方向上滾動,是以你可以看到系統上運作的所有程序,以及他們完整的指令行。可以不用輸入程序的 PID 就可以對此程序進行相關的操作 (killing, renicing)。htop 是Linux系統中的一個互動的程序檢視器,一個文本模式的應用程式(在控制台或者X終端中),需要ncurses。與Linux傳統的top相比,htop更加人性化。它可讓使用者互動式操作,支援顔色主題,可橫向或縱向滾動浏覽程序清單,并支援滑鼠操作。與top相比,htop有以下優點:
- 可以橫向或縱向滾動浏覽程序清單,以便看到所有的程序和完整的指令行。
- 在啟動上,比top 更快。
- 殺程序時不需要輸入程序号。
- htop 支援滑鼠操作。
- top 已經很老了。
htop 官網:http://htop.sourceforge.net/
htop 參數
可以使用指令:apt-get install htop 來安裝 htop,安裝完成之後,鍵入 htop 指令,打開htop。

可以看到總共分四個區域:
- 第一區域:CPU、記憶體、Swap的使用情況;
- 第二區域:任務、線程、平均負載及系統運作時間的資訊。平均負載部分提供了三個數字,這僅僅表示的是過去的5分鐘、10分鐘和15分鐘系統的平均負載而已,在單核的系統中平均負載為1表示的是百分之百的 CPU 使用率。最後,運作時間 (uptime)标示的數字是從系統啟動起到目前的運作總時間。
-
第三區域:目前系統中的所有程序。各列說明:
PID:程序标志号,是非零正整數
USER:程序所有者的使用者名
PR:程序的優先級别
NI:程序的優先級别數值
VIRT:程序占用的虛拟記憶體值
RES:程序占用的實體記憶體值
SHR:程序使用的共享記憶體值
S:程序的狀态,其中S表示休眠,R表示正在運作,Z表示僵死狀态,N表示該程序優先值是負數
%CPU:該程序占用的CPU使用率
%MEM:該程序占用的實體記憶體和總記憶體的百分比
TIME+:該程序啟動後占用的總的CPU時間
COMMAND:程序啟動的啟動指令名稱
- 第四區域:目前界面中F1-F10功能鍵中定義的快捷功能。即 底部菜單欄。
互動指令用上檔鍵shift。常用指令,shift+m 按照記憶體大小排序。shift+h 收縮線程。q 退出
下面是 F1~F10 的功能和對應的字母快捷鍵。
Shortcut Key | Function Key | Description | 中文說明 |
h, ? | F1 | Invoke htop Help | 檢視htop使用說明 |
S | F2 | Htop Setup Menu | htop 設定 |
/ | F3 | Search for a Process | 搜尋程序 |
\ | F4 | Incremental process filtering | 增量程序過濾器 |
t | F5 | Tree View | 顯示樹形結構 |
<, > | F6 | Sort by a column | 選擇排序方式 |
[ | F7 | Nice - (change priority) | 可減少nice值,這樣就可以提高對應程序的優先級 |
] | F8 | Nice + (change priority) | 可增加nice值,這樣就可以降低對應程序的優先級 |
k | F9 | Kill a Process | 可對程序傳遞信号 |
q | F10 | Quit htop | 結束htop |
指令行選項(COMMAND-LINE OPTIONS)
-C --no-color 使用一個單色的配色方案(設定界面為無顔色)
-d --delay=DELAY 設定延遲更新時間,機關秒(設定重新整理時間,機關為秒)
-h --help 顯示htop 指令幫助資訊
-u --user=USERNAME 隻顯示一個給定的使用者的過程(顯示指定使用者的程序)
-p --pid=PID,PID… 隻顯示給定的PIDs
-s --sort-key COLUMN 依此列來排序(以指定的列排序)
-v –version 顯示版本資訊
互動式指令(INTERACTIVE COMMANDS)
上下鍵或PgUP, PgDn 標明想要的程序,左右鍵或Home, End 移動字段,當然也可以直接用滑鼠標明程序;
Space 标記/取消标記一個程序。指令可以作用于多個程序,例如 "kill",将應用于所有已标記的程序
U 取消所有選中的程序
s 選擇某一程序,按s:用strace追蹤程序的系統調用。(s:顯示光标所在程序執行的系統調用;)
l 顯示程序打開的檔案: 如果安裝了lsof,按此鍵可以顯示程序所打開的檔案
I 倒轉排序順序,如果排序是正序的,則反轉成倒序的,反之亦然
+, - When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.
a (在有多處理器的機器上) 設定 CPU affinity: 标記一個程序允許使用哪些CPU
u 顯示特定使用者程序
M 按照記憶體使用百分比排序,對應MEM%列;
P 按照CPU使用百分比排序,對應CPU%列;
T 按照程序運作的時間排序,對應TIME+列;
F 跟蹤程序: 如果排序順序引起標明的程序在清單上到處移動,讓標明條跟随該程序。這對監視一個程序非常有用:通過這種方式,你可以讓一個程序在螢幕上一直可見。使用方向鍵會停止該功能。
K 顯示/隐藏核心線程
H 顯示/隐藏使用者線程
# 快速定位光标到PID所指定的程序上。
Ctrl-L 重新整理
Numbers PID 查找: 輸入PID,光标将移動到相應的程序上
htop 使用
顯示自帶幫助:滑鼠點選Help或者按F1 顯示自帶幫助
htop 設定:滑鼠點選Setup或者按下F2 之後進入htop 設定的頁面。隻需使用箭頭鍵選擇和更改特定的設定。
Setup 選項下的:
1.Meters
設定頂端的顯示資訊,分為左右兩側,Left column 表示左側的顯示的資訊,Right column表示右側顯示的資訊,如果要新加選項,可以選擇Available meters添加,F5新增到上方左側,F6新增到上方右側。Left column和Right column下面的選項,可以標明資訊的顯示方式,有LED、Bar(進度條)、Text(文本模式),可以根據個人喜好進行設定
2. Display options
選擇要顯示的内容,按空格 x表示顯示,選擇完後,按F10儲存
3.Colors
設定界面以什麼顔色來顯示,個人認為用處不大,各人喜好不同
4.Colums
作用是增加或取消要顯示的各項内容,選擇後F7(向上移動)、F8(向下移動)、F9(取消顯示、F10(儲存更改))此處增加了PPID、PGRP,根據各人需求,顯示那些資訊。
Meters 頁面設定了頂端的一些資訊顯示,頂端的顯示又分為左右兩側,到底能顯示些什麼可以在最右側那欄新增,要新增到上方左側(F5)或是右側(F6)都可以,這就是個人設定的範圍了。這裡多加了一個時鐘。
我們也可以自定義程序區域中的顯示内容:
搜尋程序:滑鼠點選Search 或者按下F3 或者輸入"/", 輸入程序名進行搜尋,例如搜尋ssh
過濾器:按下F4,進入過濾器,相當于關鍵字搜尋,不區分大小寫,例如過濾dev。
search和filter的差別:search會将光标定位到符合條件的程序上,通過F3鍵進行逐個查找;而filter會直接将符合條件的程序篩選出來。search和filter都使用ESC鍵來取消功能。
顯示樹形結構:輸入"t"或按下F5,顯示樹形結構,意思跟pstree 差不多,能看到所有程式樹狀執行的結構,這對于系統管理來說相當友善,理清程式是如何産生的,當然樹狀結構的浏覽也可以依照其他資料來排序。退出樹狀視圖模式,請再一次按下 F5 鍵。
選擇排序方式:按下F6 就可以選擇依照什麼來排序,最常排序的内容就是cpu 和memory 吧!
F7、F8分别對應nice-和nice+,F7表示減小nice值(增大優先級),F8增大nice值(減小優先級),選擇某一程序,按F7或F8來增大或減小nice值,nice值範圍為-20-19
F9對應kill給程序發信号,選好信号回車就OK了( F9:殺掉指定程序)。
選擇某一程序按F9即可殺死此程序。如你所見,視窗的左邊部分列出的是所有可用的信号,右邊部分列出的是程序。隻要選中信号,并選擇一個程序,然後按下 enter 鍵,選中的信号就會發送到此程序。
F10:退出htop。
空格鍵:用于标記選中的程序,用于實作對多個程序同時操作;要标注某個程序條目,需要做的就是選中此條目,然後按下‘空格’鍵。
顯示某個使用者的程序,在左側選擇使用者:輸入"u",在左側選擇使用者
Alias top:也許你用慣了top,我們也可以用top來打開htop。
編輯/root/.bashrc檔案,添加如下代碼:
if [ -f /usr/local/bin/htop ]; then
alias top=’/usr/local/bin/htop’
fi
source /root/.bashrc
常用的互動指令:
1) space 标記一個程序(類似windows按着Ctrl多選一樣)
2) U 取消所有标記;
3) l 顯示程序打來的檔案;
4) u 顯示特定使用者;
5) M 按照記憶體排序;
6) P 按照CPU排序;
7) T 按線上時長排序;
8) ctrl + L 重新整理;
9) 直接輸入數字,查找對應的PID程序;