Linux命令行工具——top

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: 用戶空間改變過進(jìn)程優(yōu)先級的進(jìn)程的CPU占用率
  • id: 空閑CPU占用率
  • wa: 等待I/O的CPU占用率
  • hi: 硬件中斷請求
  • si: 軟件中斷請求

第四行Mem行是內(nèi)存使用情況,從左到右依次是:物理內(nèi)存總量,已使用的物理內(nèi)存,空閑物理內(nèi)存、內(nèi)核緩沖使用量。

第五行Swap行從左到右依次是:交換區(qū)總量、空閑交換區(qū)大小、緩沖交換區(qū)大小。

第二部分開始是進(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:啟動(dòng)進(jìn)程的終端名,不是從終端啟動(dòng)的則為?
  • PR:優(yōu)先級
  • NI:進(jìn)程的nice值,負(fù)值表示高優(yōu)先級,正值表示低優(yōu)先級
  • 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:頁面錯(cuò)誤次數(shù)
  • nDRT:最后一次寫入至今,被修改過的頁面數(shù)
  • S:進(jìn)程狀態(tài):D表示不可中斷的睡眠;R表示運(yùn)行;S表示睡眠;T表示跟蹤/停止;Z表示僵尸進(jìn)程。
  • COMMAND:命令名/命令行,通過按鍵c交互命令切換。
  • WCHAN:若該進(jìn)程在睡眠,顯示睡眠中的系統(tǒng)函數(shù)名
  • Flags:任務(wù)標(biāo)志,參考shed.h

top命令下,按f鍵可以選擇要展示的列,通過上下按鍵進(jìn)行移動(dòng),按d鍵設(shè)置是否顯示,按q退回到top信息頁面。

top頁面下,有以下的交互命令:

  • h:顯示幫助,查看top命令頁面的可用交互命令;
  • k:Kill一個(gè)進(jìn)程,會要求輸入進(jìn)程號
  • q:退出top命令
  • c:切換顯示命令行名稱和完整的命令行
  • M(先按Caps后再按字母):對結(jié)果根據(jù)駐留內(nèi)存大小進(jìn)行排序
  • P:按照CPU占比排序
  • T:按照時(shí)間/累計(jì)時(shí)間排序
  • 數(shù)字1:顯示所有的CPU負(fù)載情況
    例如,4核CPU的機(jī)器上,top命令界面按1,會在系統(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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容