1. 程式人生 > >Linux下取代top的進程管理工具 htop

Linux下取代top的進程管理工具 htop

display 進程 使用情況 idt cef 順序 wid ext prior

一、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