Linux中國

關於 top 工具的 6 個替代方案

在 GitHub 和 GitLab 上,不斷有來自世界各地的開源應用程序和工具湧現。其中有全新的應用程序,也有針對現有各種被廣泛使用的 Linux 程序的替代方案。在本文檔中,我會介紹一些針對 top 工具(也就是命令行任務管理器程序)的替代方案。

top 工具的替代方案

在本文中,將會介紹以下 6 種 top 工具的替代方案:

  1. Htop
  2. Vtop
  3. Gtop
  4. Gotop
  5. Ptop
  6. Hegemon

如果後續有更多類似的工具,原作者會在原文進行更新。如果你對此有興趣,可以持續關注。

Htop

htop 是一個流行的開源跨平台互動式進程管理器,也是我最喜歡的系統活動監控工具。htop 是對原版 top 工具的擴展。它最初只是用於 Linux 系統,後來開發者們不斷為其添加對其它類 Unix 操作系統的支持,包括 FreeBSD 和 Mac OS。htop 還是一個自由開源軟體,它基於 ncurses 並按照 GPLv2 發布。

和原版的 top 工具相比,htop 工具有這些優勢:

  • htoptop 啟動更快
  • htop 支持橫向滾動和縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行
  • top 工具中進行殺死進程、更改進程優先順序這些操作時,需要輸入進程 ID,而在 htop 工具中則不需要輸入
  • htop 中可以同時殺死多個進程
  • top 中每次輸入一個未預設的鍵都要等待一段時間,尤其是在多個鍵組成轉義字元串的時候就更麻煩了

在很多 Linux 發行版的默認軟體倉庫中,都帶有了 htop

在基於 Arch 的操作系統中則可以執行以下命令來安裝 htop

$ sudo pacman -S htop

在基於 Debian 的操作系統使用以下命令:

$ sudo apt install htop

在使用 RPM 軟體管理的操作系統使用以下命令:

$ sudo dnf install htop

或者

$ sudo yum install htop

在 openSUSE 系統中:

$ sudo zypper in htop

用法

不帶任何參數執行 htop 時,會顯示如下畫面:

$ htop

從圖上可以看出,htop 會在界面頂部顯示內存、交換空間、任務總數、系統平均負載、系統正常運行時間這些常用指標,在下方則和 top 一樣顯示進程列表,並且將進程的 ID、用戶、進程優先順序、進程 nice 值、虛擬內存使用情況、CPU 使用情況、內存使用情況等信息以多列顯示出來。如果你想詳細了解這些數據的含義,可以在這裡閱讀參考。

top 不同的是,htop 支持對不同的操作使用專有的按鍵。以下列出一些用於與 htop 交互的快捷鍵:

  • F1h?:進入幫助界面。
  • F2Shift+s:進入設置界面。在設置界面中可以配置儀錶板界面頂部顯示哪些數據,以及設置顏色方案、顯示列、顯示順序等等多種參數。
  • F3/:在進程列表中進行搜索。
  • F4:進入篩選模式。輸入一個字元串,篩選出包含這個字元串的進程。進入篩選模式後再按一次 F4 或者 ESC 可以退出篩選模式。
  • F5t:切換默認顯示模式和樹型顯示模式,在樹型顯示模式下按 + 可以查看子樹。
  • F6<>:依次按照進程 ID、用戶、進程優先順序、進程 nice 值、CPU 使用率、內存使用率排序顯示。
  • F7]:提高所選進程的優先順序。
  • F8[:降低所選進程的優先順序。
  • F9k:殺死所選進程。可以用 / 鍵選擇不同的進程並按 F9 殺死進程。
  • F10q: 退出 htop

以上這些快捷鍵都在 htop 界面底部顯示。

需要注意的是,這其中有一些快捷鍵可能會與已有的快捷鍵發生衝突。例如按 F2 之後可能沒有進入 htop 的設置界面,而是開始了對終端窗口的重命名。在這種情況下,你可能要更改一下快捷鍵的設置。

除了以上列出的快捷鍵以外,還有一些帶有其它功能的快捷鍵,例如:

  • u 可以選擇顯示某個用戶的進程。
  • Shift+m 可以按照內存使用量對進程列表排序。
  • Shift+p 可以按照 CPU 使用量對進程列表排序。
  • Shit+t 可以按照進程啟動時間對進程列表排序。
  • CTRL+l 刷新界面。

htop 的所有功能都可以在啟動後通過快捷鍵來調用,而不需要在啟動的時候帶上某個參數。當然,htop 也支持帶參數啟動。

例如按照以下方式啟動 htop 就可以只顯示某個用戶的進程:

$ htop -u <username>

更改界面自動刷新的時間間隔:

$ htop -d 10

看,htop 確實比 top 好用多了。

想了解 htop 的更多細節,可以查閱它的手冊頁面:

$ man htop

也可以查看它的項目主頁GitHub 倉庫

Vtop

vtoptop 工具的另一個替代方案。它是一個使用 NodeJS 編寫的、自由開源的命令行界面系統活動監視器,並使用 MIT 許可證發布。vtop 通過使用 unicode 中的盲文字元來繪製 CPU 和內存使用情況的可視化圖表。

在安裝 vtop 之前,需要先安裝 NodeJS。如果還沒有安裝 NodeJS,可以按照這個教程進行安裝。

NodeJS 安裝完畢之後,執行以下命令安裝 vtop

$ npm install -g vtop

安裝好 vtop 就可以執行以下命令開始監控了。

$ vtop

顯示界面如下:

如上圖所示,vtop 界面和 tophtop 都有所不同,它將不同的內容分別以多個框的布局顯示。另外在界面底部也展示了用於與 vtop 交互的所有快捷鍵。

vtop 有這些快捷鍵:

  • dd :殺死一個進程。
  • k:向上移動。
  • j:向下移動。
  • h :放大圖表。
  • l:縮小圖表。
  • g :跳轉到進程列表頂部。
  • Shift+g :跳轉到進程列表底部。
  • c :以 CPU 使用量對進程排序。
  • m :以內存使用量對進程排序。

想要了解更多關於 vtop 的細節,可以查閱它的項目主頁或者 GitHub 倉庫

Gtop

gtopvtop 一樣,都是一個使用 NodeJS 編寫、在 MIT 許可下發布的系統活動監視器。

執行以下命令安裝 gtop

$ npm install gtop -g

然後執行以下命令啟動:

$ gtop

顯示界面如下:

gtop 有一個優點,就是它會以不同的顏色來顯示不同的模塊,這種表現形式非常清晰明了。

主要的快捷鍵包括:

  • p:按照進程 ID 對進程排序。
  • c:按照 CPU 使用量對進程排序。
  • m:按照內存使用量對進程排序。
  • qCtrl+c:退出。

想要了解更多關於 gtop 的細節,可以查閱它的 GitHub 倉庫

Gotop

gotop 也是一個完全自由和開源的圖表式系統活動監視器。顧名思義,它是在受到 gtopvtop 的啟發之後用 Go 語言編寫的,因此也不再對其展開過多的贅述了。如果你有興趣了解這個項目,可以閱讀《gotop:又一個圖表式系統活動監視器》這篇文章。

Ptop

有些人對 NodeJS 和 Go 語言的項目可能不太感冒。如果你也是其中之一,你可以試一下使用 Python 編寫的 ptop。它同樣是一個自由開源的、在 MIT 許可下發布的系統活動監視器。

ptop 同時兼容 Python2.x 和 Python3.x,因此可以使用 Python 的軟體包管理器 pip 輕鬆安裝。如果你沒有安裝 pip,也可以參考這個教程進行安裝。

安裝 pip 之後,執行以下命令就可以安裝 ptop

$ pip install ptop

又或者按照以下方式通過源代碼安裝:

$ git clone https://github.com/darxtrix/ptop
$ cd ptop/
$ pip install -r requirements.txt # install requirements
$ sudo python setup.py install

如果需要對 ptop 進行更新,可以這樣操作:

$ pip install --upgrade ptop

即使你不執行更新,ptop 也會在第一次啟動的時候提示你是否需要更新到最新的版本。

現在可以看一下啟動 ptop 後的界面。

$ ptop

就像下面這樣:

ptop 的快捷鍵包括以下這些:

  • Ctrl+k:殺死一個進程。
  • Ctrl+n:按照內存使用量對進程排序。
  • Ctrl+t:按照進程啟動時間對進程排序。
  • Ctrl+r:重置所有數據。
  • Ctrl+f:對進程進行篩選,輸入進程的名稱就能夠篩選出符合條件的進程。
  • Ctrl+l:查看所選進程的詳細信息。
  • g:跳轉到進程列表頂部。
  • Ctrl+q:退出。

ptop 還支持更改顯示主題。如果你想讓 ptop 更好看,可以選擇你喜歡的主題。可用的主題包括以下這些:

  • colorful
  • elegant
  • simple
  • dark
  • light

如果需要更換主題(例如更換到 colorful 主題),可以執行以下命令:

$ ptop -t colorful

使用 -h 參數可以查看幫助頁面:

$ ptop -h

想要了解更多關於 ptop 的細節,可以查閱它的 GitHub 倉庫

Hegemon

hegemon 是一個使用 Rust 編寫的系統活動監視器,如果你對 Rust 感興趣,也可以了解一下。我們最近有一篇關於 hegemon文章,想要詳細了解的讀者不妨閱讀。

總結

以上就是關於 top 工具的 6 個替代方案。我並不會說它們比 top 更好或者可以完全替代 top,但多了解一些類似的工具總是好的。你有使用過這些工具嗎?哪個是你最喜歡的?歡迎在評論區留言。

via: https://www.ostechnix.com/some-alternatives-to-top-command-line-utility-you-might-want-to-know/

作者:SK 選題:lujun9972 譯者:HankChow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國