文章摘自:http://www.cnblogs.com/mchina/archive/2013/03/15/2858041.html
一、htop 簡介
This is htop, an interactive process viewer for Linux. It is a text-mode application (for console or X terminals) and requires ncurses.
Comparison between htop and top
In 'htop' you can scroll the list vertically and horizontally to see all processes and complete command lines.
In 'top' you are subject to a delay for each unassigned key you press (especially annoying when multi-key escape sequences are triggered by accident).
'htop' starts faster ('top' seems to collect data for a while before displaying anything).
In 'htop' you don't need to type the process number to kill a process, in 'top' you do.
In 'htop' you don't need to type the process number or the priority value to renice a process, in 'top' you do.
'htop' supports mouse operation, 'top' doesn't
'top' is older, hence, more used and tested.
htop 是Linux系統中的一個互動的進程查看器,一個文本模式的應用程序(在控制檯或者X終端中),需要ncurses。
與Linux傳統的top相比,htop更加人性化。它可讓用戶交互式操作,支持顏色主題,可橫向或縱向滾動瀏覽進程列表,並支持鼠標操作。
與top相比,htop有以下優點:
可以橫向或縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行。
在啓動上,比top 更快。
殺進程時不需要輸入進程號。
htop 支持鼠標操作。
top 已經很老了。
htop 官網:http://htop.sourceforge.net/
二、htop 安裝
a. 源碼包安裝
# tar zxvf htop-1.0.2.tar.gz
# cd htop-1.0.2
# ./configure
# make && make install
若出現錯誤:
configure: error: You may want to use --disable-unicode or install libncursesw.
則需安裝 ncurses-devel
# yum install ncurses-devel
b. RHEL/CentOS 安裝
可以通過 yum install htop 來安裝它,但前提是要添加epel 的yum源,具體請參考 CentOS yum 源的配置與使用。
# rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL //導入key
# yum install htop
三、htop 參數
鍵入htop 命令,打開htop。
# htop
上面左上角顯示CPU、內存、交換區的使用情況,右邊顯示任務、負載、開機時間,下面就是進程實時狀況。
下面是 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追蹤進程的系統調用
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 按Memory 使用排序
P 按CPU 使用排序
T 按Time+ 使用排序
F 跟蹤進程: 如果排序順序引起選定的進程在列表上到處移動,讓選定條跟隨該進程。這對監視一個進程非常有用:通過這種方式,你可以讓一個進程在屏幕上一直可見。使用方向鍵會停止該功能。
K 顯示/隱藏內核線程
H 顯示/隱藏用戶線程
Ctrl-L 刷新
Numbers PID 查找: 輸入PID,光標將移動到相應的進程上
四、htop 使用
4.1. 顯示自帶幫助
鼠標點擊Help或者按F1 顯示自帶幫助
4.2. htop 設定
鼠標點擊Setup或者按下F2 之後進入htop 設定的頁面,Meters 頁面設定了頂端的一些信息顯示,頂端的顯示又分爲左右兩側,到底能顯示些什麼可以在最右側那欄新增,要新增到上方左側(F5)或是右側(F6)都可以,這就是個人設定的範圍了。這裏多加了一個時鐘。
上方左右兩欄的顯示方式分爲Text Bar Graph Led 四種,下圖我就把 cpu memory swap 改成文本模式顯示,然後右欄的改成Bar 顯示,clock 用LED方式顯示。數據顯示都差不多,只是這樣看有點不習慣了。
關於Display options 的設定,可要根據管理者自己的需要來設定。
顏色選擇,除了基本的顏色顯示之外,htop 還提供了換面板的功能,其實也只是改變一些色彩顯示的設定,雖然說不能自定義到細部的顏色顯示,但是至少提供了幾種風格可以選擇。
最後一項的設定是調整 Columns 的顯示,就是在一般htop 指令進來希望可以看到的什麼樣的數據及信息,字段的調整可以在這邊做個人化的設定,一般使用系統默認值就好了。
4.3. 搜索進程
鼠標點擊Search 或者按下F3 或者輸入"/", 輸入進程名進行搜索,例如搜索ssh
4.4. 過濾器
按下F4,進入過濾器,相當於關鍵字搜索,不區分大小寫,例如過濾dev
4.5. 顯示樹形結構
輸入"t"或按下F5,顯示樹形結構,意思跟pstree 差不多,能看到所有程序樹狀執行的結構,這對於系統管理來說相當方便,理清程序是如何產生的,當然樹狀結構的瀏覽也可以依照其他數據來排序。
4.6. 選擇排序方式
按下F6 就可以選擇依照什麼來排序,最常排序的內容就是cpu 和memory 吧!
4.7 操作進程
F7、F8分別對應nice-和nice+,F9對應kill給進程發信號,選好信號回車就OK了
4.8. 顯示某個用戶的進程,在左側選擇用戶
輸入"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