htop 命令详解
htop 簡介
?
htop類似于 top 命令,但可以讓你在垂直和水平方向上滾動,所以你可以看到系統上運行的所有進程,以及他們完整的命令行。可以不用輸入進程的 PID 就可以對此進程進行相關的操作 (killing, renicing)。htop 是Linux系統中的一個互動的進程查看器,一個文本模式的應用程序(在控制臺或者X終端中),需要ncurses。與Linux傳統的top相比,htop更加人性化。它可讓用戶交互式操作,支持顏色主題,可橫向或縱向滾動瀏覽進程列表,并支持鼠標操作。與top相比,htop有以下優點:
- 可以橫向或縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行。
- 在啟動上,比top 更快。
- 殺進程時不需要輸入進程號。
- htop 支持鼠標操作。
- top 已經很老了。
?
?
htop 官網:http://htop.sourceforge.net/
?
?
?
?
htop 參數
可以使用命令:apt-get install htop 來安裝 htop,安裝完成之后,鍵入 htop 命令,打開htop。
?
?
?
?
可以看到總共分四個區域:
- 第一區域:CPU、內存、Swap的使用情況;
- 第二區域:任務、線程、平均負載及系統運行時間的信息。平均負載部分提供了三個數字,這僅僅表示的是過去的5分鐘、10分鐘和15分鐘系統的平均負載而已,在單核的系統中平均負載為1表示的是百分之百的 CPU 利用率。最后,運行時間 (uptime)標示的數字是從系統啟動起到當前的運行總時間。
- 第三區域:當前系統中的所有進程。各列說明:
PID:進程標志號,是非零正整數
USER:進程所有者的用戶名
PR:進程的優先級別
NI:進程的優先級別數值
VIRT:進程占用的虛擬內存值
RES:進程占用的物理內存值
SHR:進程使用的共享內存值
S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數
%CPU:該進程占用的CPU使用率
%MEM:該進程占用的物理內存和總內存的百分比
TIME+:該進程啟動后占用的總的CPU時間
COMMAND:進程啟動的啟動命令名稱 - 第四區域:當前界面中F1-F10功能鍵中定義的快捷功能。即?底部菜單欄。
?
?
交互命令用上檔鍵shift。常用命令,shift+m 按照內存大小排序。shift+h 收縮線程。q 退出
下面是 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追蹤進程的系統調用。(s:顯示光標所在進程執行的系統調用;)
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?? ?按照內存使用百分比排序,對應MEM%列;
P? ? ?按照CPU使用百分比排序,對應CPU%列;
T?? ? 按照進程運行的時間排序,對應TIME+列;
F? ? 跟蹤進程: 如果排序順序引起選定的進程在列表上到處移動,讓選定條跟隨該進程。這對監視一個進程非常有用:通過這種方式,你可以讓一個進程在屏幕上一直可見。使用方向鍵會停止該功能。
K? ? 顯示/隱藏內核線程
H?? ?顯示/隱藏用戶線程
#? ??快速定位光標到PID所指定的進程上。
Ctrl-L? ? 刷新
Numbers?? ?PID 查找: 輸入PID,光標將移動到相應的進程上
?
?
?
?
htop 使用
?
顯示自帶幫助:鼠標點擊Help或者按F1 顯示自帶幫助
htop 設定:鼠標點擊Setup或者按下F2 之后進入htop 設定的頁面。只需使用箭頭鍵選擇和更改特定的設置。
Setup 選項下的:
1.Meters
設定頂端的顯示信息,分為左右兩側,Left column 表示左側的顯示的信息,Right column表示右側顯示的信息,如果要新加選項,可以選擇Available meters添加,F5新增到上方左側,F6新增到上方右側。Left column和Right column下面的選項,可以選定信息的顯示方式,有LED、Bar(進度條)、Text(文本模式),可以根據個人喜好進行設置
2. Display options
選擇要顯示的內容,按空格 x表示顯示,選擇完后,按F10保存
3.Colors
設定界面以什么顏色來顯示,個人認為用處不大,各人喜好不同
4.Colums
作用是增加或取消要顯示的各項內容,選擇后F7(向上移動)、F8(向下移動)、F9(取消顯示、F10(保存更改))此處增加了PPID、PGRP,根據各人需求,顯示那些信息。
Meters 頁面設定了頂端的一些信息顯示,頂端的顯示又分為左右兩側,到底能顯示些什么可以在最右側那欄新增,要新增到上方左側(F5)或是右側(F6)都可以,這就是個人設定的范圍了。這里多加了一個時鐘。
我們也可以自定義進程區域中的顯示內容:
搜索進程:鼠標點擊Search 或者按下F3 或者輸入"/", 輸入進程名進行搜索,例如搜索ssh
過濾器:按下F4,進入過濾器,相當于關鍵字搜索,不區分大小寫,例如過濾dev。
search和filter的區別:search會將光標定位到符合條件的進程上,通過F3鍵進行逐個查找;而filter會直接將符合條件的進程篩選出來。search和filter都使用ESC鍵來取消功能。
顯示樹形結構:輸入"t"或按下F5,顯示樹形結構,意思跟pstree 差不多,能看到所有程序樹狀執行的結構,這對于系統管理來說相當方便,理清程序是如何產生的,當然樹狀結構的瀏覽也可以依照其他數據來排序。退出樹狀視圖模式,請再一次按下 F5 鍵。
選擇排序方式:按下F6 就可以選擇依照什么來排序,最常排序的內容就是cpu 和memory 吧!
F7、F8分別對應nice-和nice+,F7表示減小nice值(增大優先級),F8增大nice值(減小優先級),選擇某一進程,按F7或F8來增大或減小nice值,nice值范圍為-20-19
F9對應kill給進程發信號,選好信號回車就OK了( F9:殺掉指定進程)。
選擇某一進程按F9即可殺死此進程。如你所見,窗口的左邊部分列出的是所有可用的信號,右邊部分列出的是進程。只要選中信號,并選擇一個進程,然后按下 enter 鍵,選中的信號就會發送到此進程。
F10:退出htop。
空格鍵:用于標記選中的進程,用于實現對多個進程同時操作;要標注某個進程條目,需要做的就是選中此條目,然后按下‘空格’鍵。
?
?
顯示某個用戶的進程,在左側選擇用戶:輸入"u",在左側選擇用戶
Alias top:也許你用慣了top,我們也可以用top來打開htop。
?
編輯/root/.bashrc文件,添加如下代碼: if [ -f /usr/local/bin/htop ]; thenalias top=’/usr/local/bin/htop’ fi source /root/.bashrc
常用的交互命令:
1) space 標記一個進程(類似windows按著Ctrl多選一樣)
2) U 取消所有標記;
3) l 顯示進程打來的文件;
4) u 顯示特定用戶;
5) M 按照內存排序;
6) P 按照CPU排序;
7) T 按在線時長排序;
8) ctrl + L 刷新;
9) 直接輸入數字,查找對應的PID進程;
?
?
?
命令行選項
?
除了上面介紹的一些熱鍵,htop 還提供了很有用的命令行選項。下面是其中一部分:
-s 選項 : 按指定的列排序。例如,htop -s PID 命令會按 PID 列的大小排序來顯示。
-u 選項 : 顯示指定的用戶的進程信息列表。例如,htop -u himanshu 命令會只顯示出用戶名為 himanshu 的相關進程。
-d 選項 : 設置刷新的延遲時間。例如,htop -d 100 命令會使輸出在1秒后才會刷新(參數 -d 的單位是10微秒)。
總結
- 上一篇: Nginx-rtmp直播之业务流程分析-
- 下一篇: 利用linux的df和du命令查看文件和