Linux下取代top的進程管理工具 htop
一、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
轉:
https://www.cnblogs.com/mchina/archive/2013/03/15/2858041.html
Linux下取代top的進程管理工具 htop