top指令概述
top
是 Linux 系統中用于實時監控系統性能和進程信息的命令,功能強大且靈活。它提供了系統資源的動態視圖,包括 CPU、內存、運行中的進程等。
這個指令可以說是Linux中最基本的工具了,用來監視系統的實時運行狀態,類似的程序還有很多,像是htop
、gtop
,都是衍生版。基本來說,top夠用了。
整理學習的Linux 指令的知識。這種指令也不用完全掌握,知道基本的用法就可以,了解一些快捷鍵,提高工作效率。
自己在Ubuntu或者WSL里面多嘗試一些,這才是重要的<( ̄︶ ̄)↗[GO!]。
基本用法
top
輸出會顯示系統狀態的實時更新列表,按默認的刷新間隔(通常是3秒)更新。
常見快捷鍵
在 top 的界面中,可以使用以下快捷鍵進行交互操作(注意區分大小寫,多多嘗試):
排序相關
按下g,可以選擇1-4這幾種排序字段,下面的都包括了
P:按 CPU 使用率排序(默認)。
M:按內存使用率排序。
T:按運行時間排序。
進程控制
k:終止某個進程,會提示輸入 PID。
r:重新調整進程優先級(修改 nice 值)。
顯示選項
h:顯示幫助菜單。
1:顯示每個 CPU 的使用情況。
c:顯示或隱藏進程的完整命令路徑。
q:退出 top。
過濾與搜索
/:查找特定的進程。
n:設置顯示的進程數量。
常用組合推薦
按內存使用排序:M
按 CPU 使用排序:P
監控某用戶的任務:u + 用戶名
實時查看多核 CPU 狀態:1
高亮排序字段:x
輸出字段說明
top 界面頂部和進程列表分別包含系統摘要和具體進程信息:
系統摘要
uptime:系統已運行時間。
load average:系統負載(最近1、5、15分鐘的平均值)。
tasks:任務總數及其狀態(運行、睡眠、停止、僵尸等)。
%Cpu(s):CPU 使用情況(用戶、系統、空閑等)。
Mem 和 Swap:物理內存和交換分區的使用情況。
例如下面的信息:
top - 15:32:32 up 54 min, 1 user, load average: 0.11, 0.09, 0.06
Tasks: 67 total, 1 running, 66 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 7878.3 total, 5671.9 free, 1544.3 used, 662.1 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 6035.3 avail Mem
(1)系統信息
top - 15:32:32 up 54 min, 1 user, load average: 0.11, 0.09, 0.06
- 當前時間:15:32:32
- 系統運行時間:已經運行了 54 分鐘。
- 當前登錄用戶數:1 個用戶。
- 負載均值 (load average):過去 1 分鐘:0.11 ; 過去 5 分鐘:0.09 ; > 過去 15 分鐘:0.06;
解釋:負載均值越低,系統壓力越小;當前負載非常低。
(2)任務狀態
Tasks: 67 total, 1 running, 66 sleeping, 0 stopped, 0 zombie
- 總任務數:67 個。
- 運行中的任務:1 個任務處于運行狀態。
- 睡眠中的任務:66 個任務處于睡眠狀態(等待事件觸發)。
- 停止的任務:0 個任務被停止。
- 僵尸任務:0 個僵尸進程。
解釋:系統大多數任務處于空閑或待機狀態,負載輕。
(3)CPU使用率
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
- us(用戶空間):0.3% 的 CPU 用于用戶程序。
- sy(系統空間):0.3% 的 CPU 用于內核操作。
- ni(優先級):0.0% 的 CPU 用于調整進程優先級。
- id(空閑):99.4% 的 CPU 處于空閑狀態。
- wa(IO等待):0.0% 的 CPU 等待 IO 操作完成。
- hi(硬中斷):0.0% 的 CPU 用于硬件中斷處理。
- si(軟中斷):0.1% 的 CPU 用于軟件中斷處理。
- st(虛擬化偷取時間):0.0% 的 CPU 被虛擬機占用。
解釋:CPU 使用率非常低,系統大部分時間處于空閑狀態。
(4)內存使用
MiB Mem : 7878.3 total, 5671.9 free, 1544.3 used, 662.1 buff/cache
- 總內存:7878.3 MiB。
- 空閑內存:5671.9 MiB,約 72% 的內存空閑。
- 已用內存:1544.3 MiB,約 19% 的內存正在被使用。
- 緩存/緩沖區:662.1 MiB,被系統緩存使用的內存。
解釋:內存利用率較低,系統內存資源充足。
(5)交換分區 (Swap) 使用
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 6035.3 avail Mem
- 總交換分區大小:2048.0 MiB。
- 空閑交換分區:2048.0 MiB。
- 已用交換分區:0.0 MiB。
- 可用內存:6035.3 MiB,包含物理空閑內存和緩沖內存。
解釋:系統沒有使用交換分區,物理內存足以應對當前任務。
(6)總結
當前系統狀態非常輕松:
- CPU 主要處于空閑狀態(99.4%)。
- 內存和交換分區使用率低,資源充足。
- 系統負載非常低(負載均值遠低于 1)。
- 沒有僵尸進程或 IO 瓶頸。
進程信息
PID:進程 ID。
USER:運行該進程的用戶。
PR 和 NI:優先級和 nice 值。
VIRT、RES、SHR:虛擬內存、常駐內存和共享內存使用情況。
%CPU 和 %MEM:進程的 CPU 和內存使用率。
TIME+:進程累計使用 CPU 的時間。
COMMAND:運行的命令或進程名稱。
資料
[Unix/Linux TOP 指令使用詳解]
[每天一個linux命令(44):top命令]
[top manual]