top
- 一、 命令
- 二、 如何查看top輸出的結果
一、 命令
top命令是Linux中的一個實時進程監控工具,類似于windows中的任務管理器。
基本命令
top
二、 如何查看top輸出的結果
我們需要分析top輸出的結果
top輸出的結果分為上下兩部分,先看上半部分
第一行是系統運行時間和系統負載
top - 15:20:42 up 151 days, 37 min, 0 users, load average: 18.81, 14.71, 14.09
字段 | 含義 |
---|---|
15:17:56 | 當前系統時間 |
up 151 days, 35 min | 系統已連續運行 151 天 35 分鐘(沒重啟過) |
0 users | 當前沒有用戶登錄(可能是 headless server) |
load average | 系統過去 1、5、15 分鐘的平均負載: |
這里解釋一下load average
的含義:load average是負載平均值表示等待cpu的進程數量,上面圖中有三個數字20.25、14.37、13.97分別表示在過去1分鐘、5分鐘、15分鐘等待cpu的進程數。
第二行是任務或者進程的概況
Tasks: 19 total, 1 running, 18 sleeping, 0 stopped, 0 zombie
字段 | 含義 |
---|---|
19 total | 總共只有 19 個進程(非常少) |
1 running | 有 1 個進程正在運行中(活躍) |
18 sleeping | 其余都在休眠狀態 |
0 zombie | 沒有僵尸進程 |
第三行是cpu的使用情況
%Cpu(s): 6.1 us, 2.5 sy, 0.0 ni, 91.2 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
項目 | 含義 |
---|---|
us | 用戶空間占用 6.1%(應用進程) |
sy | 系統空間占用 2.5%(內核、驅動) |
id | 空閑 CPU:91.2% |
wa | I/O 等待 0.0%,無磁盤瓶頸 |
ni | nice 優先級進程占用:0.0% |
hi/si | 硬/軟中斷使用率(幾乎無) |
st | 被虛擬機偷走 CPU(無虛擬化) |
第四行是內存使用情況
MiB Mem : 1031704.+total, 39402.3 free, 54096.6 used, 938205.2 buff/cache
字段 | 含義 |
---|---|
1031704.0 | 系統總內存 ≈ 1 TB(大內存服務器) |
39402.3 | 空閑內存約 39 GB(直接未用) |
54096.6 | 正在使用中的內存(運行程序) |
938205.2 | 用作緩存/緩沖(Linux 會盡可能利用內存來加速) |
第五行是Swap分區(交換內存)
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 963120.9 avail Mem
top命令的下半部分
字段 | 含義 |
---|---|
PID | 進程 ID(唯一標識) |
USER | 進程所屬用戶(root) |
PR | 優先級(Priority),越小越優先 |
NI | nice 值,影響調度優先級(越負越高優先) |
VIRT | 虛擬內存使用量(包含共享庫、未實際用的部分) |
RES | 實際占用物理內存(resident memory) |
SHR | 共享內存大小(共享庫部分) |
S | 狀態: |
- S | sleep(休眠) |
- R | running(運行中) |
- Z | zombie(僵尸)等 |
%CPU | 占用 CPU 百分比(總核數為 100%) |
%MEM | 占用物理內存百分比 |
TIME+ | 進程使用 CPU 的總時間 |
COMMAND | 進程啟動命令或可執行程序名 |