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

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.