要知道的命令:htop 助你心中有數(shù) | Linux 系統(tǒng)下 htop 命令詳解

這幾天在跑超級超級巨大的計算量的東西,然后就撓心撓肺地想知道我的進程怎么樣啦、計算資源夠不夠啦等等!所以就極其地頻繁使用`htop`!應該說是我就掛著沒退出過哈哈哈哈哈哈哈哈哈哈!
然而,它這個界面吧,雖然大致有數(shù),但也不是全懂,所以就想了解一下。查了半天吧,又想著,學都學了,干脆系統(tǒng)總結(jié)一下得了,造福自己造福大家!嗯!所以!我?guī)е业墓P記來啦!
接下來請收看 —— 要知道的命令:`htop`助你心中有數(shù)
為了更好地監(jiān)視系統(tǒng)的進程和系統(tǒng)資源使用情況,我們經(jīng)常會用到`top`命令和`htop`命令。它們具有類似的功能,都是交互式的系統(tǒng)監(jiān)視工具,但在用戶界面和功能方面有所不同。就我個人而言,還是更愛`htop`!因為它真的是,太太太太太一目了然了!?。。。。?/p>
咱們兩個都介紹一下!然后著重介紹一下我更愛的那個!
1 top 命令

`top`是 Linux 系統(tǒng)中的一個基本的命令行工具,用于實時監(jiān)視系統(tǒng)的進程、CPU 使用情況、內(nèi)存占用、負載情況等系統(tǒng)資源。
`top`命令的界面比較簡潔,主要以文本形式展示進程列表和系統(tǒng)資源占用情況。
`top`命令的操作相對簡單,常見的操作如按鍵切換排序方式、查看不同資源的使用情況、結(jié)束進程等。
2 htop 命令

`htop`是一個類似于`top`的進程查看工具,提供了更豐富的功能和更友好的用戶界面。
`htop`命令的界面更加直觀,使用彩色標記和條形圖等形式展示進程列表、CPU、內(nèi)存、交換空間、負載等信息。
`htop`命令支持更多的交互操作,如使用鼠標點擊、快捷鍵切換排序方式、查看和設置進程優(yōu)先級、終止進程等。
`htop`還提供了一些額外的功能,如在進程列表中搜索、監(jiān)視指定用戶的進程等。
看完俺上面的介紹,我們可以了解到,`htop`命令相比于`top`命令在用戶界面和功能方面更加強大和直觀,更適合于需要更詳細信息和更多操作選項的場景。不過`top`命令作為 Linux 系統(tǒng)自帶的基本工具,在某些情況下仍然可以滿足需求并且更加輕量。
3 htop 顯示界面
接下來,我們著重介紹一下我更愛的`htop`的顯示界面!
注意:`htop`的界面可能會因操作系統(tǒng)和版本而略有不同,咱們今天說的都是基于常見的情況,具體細節(jié)可能會有所差異喲!
`htop`命令顯示的界面主要由以下四個部分組成:
1. 標題欄(Header Bar):位于界面的頂部,顯示系統(tǒng)的整體狀態(tài),包括 CPU 使用率、內(nèi)存占用、進程數(shù)等。
2. 進程列表(Process List):位于界面的主要部分,顯示當前運行的進程及其相關(guān)信息。每行表示一個進程,列顯示進程的 ID、用戶、CPU 使用率、內(nèi)存占用、進程狀態(tài)等信息。
3. 柱狀圖區(qū)域(Graphs Area):位于界面的左側(cè)或右側(cè)或頂部(咱們文中的在頂部),以柱狀圖的形式展示系統(tǒng)資源的使用情況,如 CPU 使用率、內(nèi)存占用、磁盤讀寫等。
4. 快捷鍵提示欄(Shortcut Keys Bar):位于界面的底部,顯示常用的快捷鍵操作,幫助用戶快速了解和使用`htop`的功能,便于管理控制。

?3.1 標題欄(Header Bar)
在`htop`的標題欄中,包含了一些重要的系統(tǒng)信息,展示整體狀態(tài)。看!紫框框!

1. tasks:顯示系統(tǒng)中的任務數(shù)(進程數(shù))。包括總?cè)蝿諗?shù)(total)、運行中的任務數(shù)(running)等。
2. load average:顯示系統(tǒng)的平均負載。包括 1 分鐘、5 分鐘和 15 分鐘內(nèi)的平均負載值。負載值表示單位時間內(nèi)處于可運行狀態(tài)和不可中斷狀態(tài)的進程數(shù)量。
3. uptime:顯示系統(tǒng)的運行時間。表示系統(tǒng)自上次啟動以來經(jīng)過的時間。
3.2 進程列表(Process List)
`htop`會顯示一個進程列表,其中包含了各個進程的詳細信息。看!紅框框!

默認情況下,進程按 CPU 使用率進行排序,最耗費 CPU 資源的進程會排在最上面。那么!為了方便我們干活的時候心中更有數(shù)!
咱接下來就給大家介紹一下運行`htop`命令后顯示的進程列表(這應該是我們最需要了解的部分啦)中各列的含義!
1. CPU 列:顯示每個 CPU 核心的使用情況,包括用戶空間和內(nèi)核空間的 CPU 使用百分比,以及空閑 CPU 的百分比。
2. MEM 列:顯示內(nèi)存的使用情況,包括已使用和可用的物理內(nèi)存和交換空間。
3. SWAP 列:顯示交換空間的使用情況,包括已使用和可用的交換空間。
4. PID 列:顯示進程的 ID,唯一標識一個進程。
5. USER 列:顯示運行進程的用戶。
6. PRI 列:顯示進程的優(yōu)先級。
7. NI 列:顯示進程的優(yōu)先級調(diào)整值。
8. VIRT 列:顯示進程使用的虛擬內(nèi)存大小。
9. RES 列:顯示進程使用的物理內(nèi)存大小。
10. SHR 列:顯示進程使用的共享內(nèi)存大小。
11. S 列:顯示進程的狀態(tài),例如運行中(R)、睡眠(S)、僵尸(Z)等。
? ? 下面是一些常見的 S 列選項及其含義:
? ? - R:正在運行 (Running),表示進程當前正在運行并占用 CPU 資源。
? ? - S:睡眠 (Sleeping),表示進程當前處于睡眠狀態(tài),即等待某些事件發(fā)生而暫停運行。
? ? - D:不可中斷的睡眠 (Uninterruptible Sleep),表示進程正在等待某些 I/O 操作完成,此時進程無法被中斷。
? ? - Z:僵尸 (Zombie),表示進程已經(jīng)終止但尚未被其父進程回收的狀態(tài)。
? ? - T:停止 (Stopped),表示進程已經(jīng)暫停運行,通常是收到了一個停止信號。
? ? - t:跟蹤/停止 (Tracing/Stopped),表示進程被調(diào)試器跟蹤或已經(jīng)被停止。
? ? - X:死亡 (Dead),表示進程已經(jīng)終止或被異常終止。
12. CPU% 列:顯示進程使用的 CPU 百分比。
13. MEM% 列:顯示進程使用的內(nèi)存百分比。
14. TIME+ 列:顯示進程的累計 CPU 時間。
15. Command 列:顯示運行的命令或程序的名稱。
3.3 柱狀圖區(qū)域(Graphs Area)
柱狀圖區(qū)域又可以分為兩小部分(我的版本是這樣,其他或許有一丟丟區(qū)別),CPU 狀態(tài)區(qū)域和內(nèi)存狀態(tài)區(qū)域。看!粉框框!

1. mem:顯示內(nèi)存使用情況。包括總內(nèi)存量(total)、已使用內(nèi)存量(used)、空閑內(nèi)存量(free)、緩存和緩沖區(qū)占用的內(nèi)存量(buffers/cache)等。
2. swp:顯示交換空間(swap)使用情況。包括總交換空間量(total)、已使用交換空間量(used)、空閑交換空間量(free)等。當你發(fā)現(xiàn)你的交換分區(qū)已經(jīng)派上用場的時候,說明你的物理內(nèi)存已經(jīng)不足,需要考慮增加內(nèi)存啦!
我們發(fā)現(xiàn)這些柱子五顏六色的,那不同的顏色分別代表什么意思嘞!咱們來抽絲剝繭地嘮嘮!
首先是CPU狀態(tài)區(qū)域(最上面的粉框框):
????- 綠色:表示空閑的CPU時間。這表示CPU處于空閑狀態(tài),沒有執(zhí)行任何任務。
????- 藍色或青色:表示用戶態(tài)(User)的CPU時間。用戶態(tài)是指CPU正在執(zhí)行用戶級別的任務,如運行的應用程序或用戶自定義的進程。
????- 紅色:表示內(nèi)核態(tài)(Kernel)的CPU時間。內(nèi)核態(tài)是指CPU正在執(zhí)行內(nèi)核級別的任務,如操作系統(tǒng)內(nèi)核的運行、設備驅(qū)動程序等。
????- 紫色:表示虛擬化或超線程(Hyper-threading)的CPU時間。這表示CPU正在執(zhí)行與虛擬化或超線程相關(guān)的任務。
????- 黃色:表示等待(Wait)的CPU時間。等待時間表示CPU在等待某個事件完成或資源可用的時間,例如等待I/O操作完成。
????- 白色:表示其他系統(tǒng)相關(guān)的CPU時間,如中斷(Interrupt)和軟中斷(Soft Interrupt)。
其次是內(nèi)存狀態(tài)區(qū)域(左側(cè)的粉框框,包括 mem 和 swp):
????- 綠色:表示空閑的內(nèi)存。這表示內(nèi)存中沒有被使用的部分。
????- 藍色或青色:表示緩存(Cache)的內(nèi)存。緩存是指操作系統(tǒng)將最近訪問過的數(shù)據(jù)存儲在內(nèi)存中,以便更快地訪問。
????- 黃色:表示緩沖(Buffer)的內(nèi)存。緩沖是指操作系統(tǒng)為I/O操作而預留的內(nèi)存,用于加速數(shù)據(jù)傳輸。
????-?紅色:表示已使用的內(nèi)存。這表示內(nèi)存中正在被占用的部分。
????- 白色:表示內(nèi)核使用的內(nèi)存或其他系統(tǒng)相關(guān)的內(nèi)存。
還是那句話,注意:不同操作系統(tǒng)或版本可能使用不同的顏色方案來表示內(nèi)存狀態(tài)區(qū)域的柱狀圖,所以具體顏色的含義可能會有所差異。建議查閱相關(guān)文檔或資源以了解特定操作系統(tǒng)或版本中`htop`命令內(nèi)存狀態(tài)區(qū)域柱子顏色的含義。
3.4 快捷鍵提示欄(Shortcut Keys Bar)
`htop`還提供了一些交互式功能幫助我們控制管理,也就是快捷鍵提示欄部分。看!黃框框!

F1 - F10 鍵提供了一些常用的功能和操作選項,這些快捷鍵可以幫助我們在`htop`中快速進行進程的管理、篩選和查看,并提供了一些常用操作的快捷方式。
下面是各個鍵的功能介紹:
F1: 查看`htop`的幫助文檔,了解更多關(guān)于界面各項的詳細信息。
F2: 進入設置菜單,可以進行一些全局設置,如排序方式、顯示選項等。
F3: 在進程列表中進行搜索,輸入關(guān)鍵字后會過濾顯示匹配的進程。
F4: 進入篩選模式,可以按進程的特定屬性進行過濾,如進程狀態(tài)、用戶等。
F5: 刷新界面,更新進程和系統(tǒng)資源的使用情況。
F6: 切換排序方式,按不同的列進行進程排序,如 CPU 使用率、內(nèi)存占用等。
F7: 減少`htop`顯示的進程列表,只顯示部分進程。
F8: 增加`htop`顯示的進程列表,顯示更多進程。
F9: 發(fā)送信號給選定的進程,可以選擇終止或發(fā)送其他信號。
F10: 退出`htop`命令,當然,按下鍵盤上的 q 鍵也可以順利退出?。。?/p>
再次注意:`htop`的界面可能會因操作系統(tǒng)和版本而略有不同,咱們今天說的都是基于常見的情況,具體細節(jié)可能會有所差異喲!
