top
是在Linux上常用的性能監(jiān)控工具阻荒,在WSL 2上執(zhí)行top
的示意如下:
top - 21:57:51 up 39 min, 0 users, load average: 0.02, 0.01, 0.00
Tasks: 5 total, 1 running, 4 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 6434848 total, 6146444 free, 62664 used, 225740 buff/cache
KiB Swap: 2097152 total, 2097152 free, 0 used. 6151452 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 892 544 484 S 0.0 0.0 0:00.04 init
7 root 20 0 892 76 16 S 0.0 0.0 0:00.00 init
8 root 20 0 892 76 16 S 0.0 0.0 0:00.03 init
9 darren 20 0 26100 8028 3320 S 0.0 0.1 0:00.15 bash
761 darren 20 0 42104 3620 3120 R 0.0 0.1 0:00.00 top
top
命令的結(jié)果共分2部分,系統(tǒng)統(tǒng)計(jì)信息和進(jìn)程信息。
系統(tǒng)統(tǒng)計(jì)信息部分的第一行是任務(wù)隊(duì)列信息柠偶,等于uptime
命令的執(zhí)行結(jié)果:
darren@DESKTOP-PSPUMSB:~$ uptime
21:58:45 up 40 min, 0 users, load average: 0.01, 0.00, 0.00
從左向右分別為:系統(tǒng)當(dāng)前時(shí)間电爹,系統(tǒng)運(yùn)行時(shí)間摇邦,當(dāng)前登錄用戶數(shù)法梯,以及系統(tǒng)最近1分鐘、5分鐘、15分鐘的平均負(fù)載产喉。
第二行是進(jìn)程統(tǒng)計(jì)信息姐帚,分別是各種類型的進(jìn)程數(shù)量膳汪。
第三行是CPU統(tǒng)計(jì)信息:
- us:用戶空間CPU使用率
- sy: 內(nèi)核空間CPU占用率
- ni: 用戶空間改變過(guò)進(jìn)程優(yōu)先級(jí)的進(jìn)程的CPU占用率
- id: 空閑CPU占用率
- wa: 等待I/O的CPU占用率
- hi: 硬件中斷請(qǐng)求
- si: 軟件中斷請(qǐng)求
第四行Mem行是內(nèi)存使用情況晴音,從左到右依次是:物理內(nèi)存總量系羞,已使用的物理內(nèi)存霸琴,空閑物理內(nèi)存、內(nèi)核緩沖使用量澎迎。
第五行Swap行從左到右依次是:交換區(qū)總量选调、空閑交換區(qū)大小、緩沖交換區(qū)大小仁堪。
第二部分開(kāi)始是進(jìn)程信息部分顯示各個(gè)進(jìn)程的資源使用情況:
- PID:進(jìn)程ID
- PPID:父進(jìn)程ID
- RUSER:真實(shí)用戶名稱
- USER:進(jìn)程所有者的用戶名
- UID:進(jìn)程所有者的UID
- GROUP:進(jìn)程所有者的屬組
- TTY:?jiǎn)?dòng)進(jìn)程的終端名,不是從終端啟動(dòng)的則為
?
- PR:優(yōu)先級(jí)
- NI:進(jìn)程的nice值鸟辅,負(fù)值表示高優(yōu)先級(jí)莺葫,正值表示低優(yōu)先級(jí)
- P:最后使用的CPU
- %CPU:上次更新到現(xiàn)在的CPU使用占比
- TIME:進(jìn)程使用CPU的總時(shí)間,單位:秒
- TIME+:進(jìn)程使用CPU的總時(shí)間捺檬,單位:1/100秒
- %MEM:進(jìn)程使用的物理內(nèi)存占比
- VIRT:進(jìn)程使用的虛擬內(nèi)存總量,單位KB树绩,VIRT = SWAP + RES
- SWAP:進(jìn)程使用的虛擬內(nèi)存中被換出的大小隐轩,單位KB
- RES:進(jìn)程使用的虛存中未被換出的物理內(nèi)存大小,單位KB职车,RES=CODE+DATA
- CODE:可執(zhí)行代碼占用的物理內(nèi)存大小,單位KB
- DATA:可執(zhí)行代碼以外(數(shù)據(jù)段+棧)占用的物理內(nèi)存扛芽,單位KB
- SHR:共享內(nèi)存大小积瞒,單位KB
- nFLT:頁(yè)面錯(cuò)誤次數(shù)
- nDRT:最后一次寫入至今,被修改過(guò)的頁(yè)面數(shù)
- S:進(jìn)程狀態(tài):D表示不可中斷的睡眠茫孔;R表示運(yùn)行;S表示睡眠馍悟;T表示跟蹤/停止剩晴;Z表示僵尸進(jìn)程。
- COMMAND:命令名/命令行赞弥,通過(guò)按鍵
c
交互命令切換。 - WCHAN:若該進(jìn)程在睡眠毛嫉,顯示睡眠中的系統(tǒng)函數(shù)名
- Flags:任務(wù)標(biāo)志妇菱,參考shed.h
top
命令下,按f
鍵可以選擇要展示的列闯团,通過(guò)上下按鍵進(jìn)行移動(dòng),按d
鍵設(shè)置是否顯示彻舰,按q
退回到top
信息頁(yè)面。
top
頁(yè)面下刃唤,有以下的交互命令:
- h:顯示幫助,查看
top
命令頁(yè)面的可用交互命令硬霍; - k:Kill一個(gè)進(jìn)程笼裳,會(huì)要求輸入進(jìn)程號(hào)
- q:退出
top
命令 - c:切換顯示命令行名稱和完整的命令行
- M(先按
Caps
后再按字母):對(duì)結(jié)果根據(jù)駐留內(nèi)存大小進(jìn)行排序 - P:按照CPU占比排序
- T:按照時(shí)間/累計(jì)時(shí)間排序
- 數(shù)字1:顯示所有的CPU負(fù)載情況
例如,4核CPU的機(jī)器上躬柬,top命令界面按1
,會(huì)在系統(tǒng)統(tǒng)計(jì)信息部分的CPU行增加顯示每個(gè)CPU核心的具體情況:
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st