萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux top 命令深度解析:系統負載、CPU/內存佔用、進程排序、交互熱鍵全掌握

top 是 Linux 系統性能監控的「儀表盤」,提供實時動態的進程視圖。本文深度拆解 top 輸出的每一行含義、交互熱鍵、排序切換、批處理模式,助你從輸出中快速定位性能瓶頸。

一、啟動參數

二、輸出界面逐行拆解(以實例為例)

top - 14:06:23 up 70 days, 16:44, 2 users, load average: 1.25, 1.32, 1.35
Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.9 us,  3.4 sy,  0.0 ni, 90.4 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :  32176 total,  14073 used,  18103 free,    165 buff/cache
MiB Swap:  31996 total,      0 used,  31996 free,   3528 avail Mem

第 1 行:任務隊列

  • load average:1/5/15 分鐘平均負載。負載 > 邏輯 CPU 核心數 × 0.7 持續高位 → 需關注

第 2 行:任務統計

  • zombie 僵屍進程 > 0 表明父進程未正確 wait() 回收

第 3 行:CPU 佔用分解

參數說明
-b批處理模式(配合重定向輸出到文件)
-c顯示完整命令行
-d 秒數刷新間隔(預設 3 秒)
-n 次數循環次數後退出
-u 用戶僅顯示指定用戶進程
-p PID僅監控指定 PID
-H顯示線程

第 4-5 行:內存與 Swap

  • 可用內存近似公式: free + buffers + cached(或直接看 avail Mem)
  • 關鍵指標: Swap used 持續增長/波動 → 物理內存不足,頻繁換頁

進程列欄位(第 7 行起)

縮寫全稱含義
ususer用戶態佔用
sysystem內核態佔用
ninice改變優先級的進程佔用
ididle空閒
waiowait等待 I/O(高則磁盤瓶頸)
hihardware interrupt硬中斷
sisoftware interrupt軟中斷
ststeal虛擬機被宿主機搶佔
欄位含義
PID進程 ID
USER擁有者
PR調度優先級
NINice 值(-20 高 ~ 19 低)
VIRT虛擬內存 = SWAP + RES
RES常駐物理內存 = CODE + DATA
SHR共享內存
S狀態:D(不可中斷睡眠) R(運行) S(睡眠) T(跟蹤/停止) Z(僵屍)
%CPU最近一個間隔佔用
%MEM物理內存佔比
TIME+累計 CPU 時間(百分之一秒)
COMMAND命令名/參數

三、交互熱鍵(運行時按鍵)

鍵功能
P按 %CPU 排序(預設)
M按 %MEM 排序
T按 TIME+ 排序
N按 PID 排序
1切換顯示所有 CPU 核心佔用
H切換顯示線程
c切換顯示完整命令行
k殺死進程(輸入 PID + 信號)
r重設 Nice 值
d修改刷新間隔
W寫入配置文件(~/.toprc)
q退出

四、批處理模式記錄歷史

top -b -n 10 -d 2 > top_log.txt
# 每 2 秒採樣 10 次,適合腳本分析

top 命令監控界面示意圖

copyright © 萬盛學電腦網 all rights reserved