詳細(xì)解析Linux中top命令參數(shù)

本篇文章給大家?guī)砹?a >linux關(guān)于top命令的相關(guān)知識(shí),其中包括了top命令的用法和各輸出參數(shù)的含義,希望對(duì)大家有幫助。

詳細(xì)解析Linux中top命令參數(shù)

top命令用法

top命令經(jīng)常用來監(jiān)控linux的系統(tǒng)狀況,是常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用情況。

top的使用方式 top [-d number] | top [-bnp]

參數(shù)解釋:

-d:number代表秒數(shù),表示top命令顯示的頁面更新一次的間隔。默認(rèn)是5秒。 -b:以批次的方式執(zhí)行top。 -n:與-b配合使用,表示需要進(jìn)行幾次top命令的輸出結(jié)果。 -p:指定特定的pid進(jìn)程號(hào)進(jìn)行觀察。

在top命令顯示的頁面還可以輸入以下按鍵執(zhí)行相應(yīng)的功能(注意大小寫區(qū)分的):

?:顯示在top當(dāng)中可以輸入的命令 P:以CPU的使用資源排序顯示 M:以內(nèi)存的使用資源排序顯示 N:以pid排序顯示 T:由進(jìn)程使用的時(shí)間累計(jì)排序顯示 k:給某一個(gè)pid一個(gè)信號(hào)。可以用來殺死進(jìn)程 r:給某個(gè)pid重新定制一個(gè)nice值(即優(yōu)先級(jí)) q:退出top(用ctrl+c也可以退出top)。

top各輸出參數(shù)含義

下面是使用top命令來進(jìn)行性能檢測(cè)的截圖:

圖一(ubuntu):

詳細(xì)解析Linux中top命令參數(shù)

圖二(centos):

詳細(xì)解析Linux中top命令參數(shù)

一、top前5行統(tǒng)計(jì)信息

第1行:top – 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30?
第1行是任務(wù)隊(duì)列信息,其參數(shù)如下:

內(nèi)容 含義
05:43:27 表示當(dāng)前時(shí)間
up 4:52 系統(tǒng)運(yùn)行時(shí)間 格式為時(shí):分
2 users 當(dāng)前登錄用戶數(shù)
load average: 0.58, 0.41, 0.30 系統(tǒng)負(fù)載,即任務(wù)隊(duì)列的平均長(zhǎng)度。 三個(gè)數(shù)值分別為 1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值。

load average: 如果這個(gè)數(shù)除以邏輯CPU的數(shù)量,結(jié)果高于5的時(shí)候就表明系統(tǒng)在超負(fù)荷運(yùn)轉(zhuǎn)了。?

第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie?
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st?
第2、3行為進(jìn)程和CPU的信息?
當(dāng)有多個(gè)CPU時(shí),這些內(nèi)容可能會(huì)超過兩行,其參數(shù)如下:

內(nèi)容 含義
159 total 進(jìn)程總數(shù)
1 running 正在運(yùn)行的進(jìn)程數(shù)
158 sleeping 睡眠的進(jìn)程數(shù)
0 stopped 停止的進(jìn)程數(shù)
0 zombie 僵尸進(jìn)程數(shù)
37.0 us 用戶空間占用CPU百分比
3.7 sy 內(nèi)核空間占用CPU百分比
0.0 ni 用戶進(jìn)程空間內(nèi)改變過優(yōu)先級(jí)的進(jìn)程占用CPU百分比
59.3 id 空閑CPU百分比
0.0 wa 等待輸入輸出的CPU時(shí)間百分比
0.0 hi 硬中斷(Hardware IRQ)占用CPU的百分比
0.0 si 軟中斷(Software Interrupts)占用CPU的百分比
0.0 st ?

第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers?

第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem?
第4、5行為內(nèi)存信息?
其參數(shù)如下:

內(nèi)容 含義
KiB Mem: 1530752 total 物理內(nèi)存總量
1481968 used 使用的物理內(nèi)存總量
48784 free 空閑內(nèi)存總量
70988 buffers(buff/cache) 用作內(nèi)核緩存的內(nèi)存量
KiB Swap: 3905532 total 交換區(qū)總量
267544 used 使用的交換區(qū)總量
3637988 free 空閑交換區(qū)總量
617312 cached Mem 緩沖的交換區(qū)總量。
3156100 avail Mem 代表可用于進(jìn)程下一次分配的物理內(nèi)存數(shù)量

上述最后提到的緩沖的交換區(qū)總量,這里解釋一下,所謂緩沖的交換區(qū)總量,即內(nèi)存中的內(nèi)容被換出到交換區(qū),而后又被換入到內(nèi)存,但使用過的交換區(qū)尚未被覆蓋,該數(shù)值即為這些內(nèi)容已存在于內(nèi)存中的交換區(qū)的大小。相應(yīng)的內(nèi)存再次被換出時(shí)可不必再對(duì)交換區(qū)寫入。?

計(jì)算可用內(nèi)存數(shù)有一個(gè)近似的公式:?
第四行的free + 第四行的buffers + 第五行的cached

二、進(jìn)程信息

列名 含義
PID 進(jìn)程id
PPID 父進(jìn)程id
RUSER Real user name
UID 進(jìn)程所有者的用戶id
USER 進(jìn)程所有者的用戶名
GROUP 進(jìn)程所有者的組名
TTY 啟動(dòng)進(jìn)程的終端名。不是從終端啟動(dòng)的進(jìn)程則顯示為 ?
PR 優(yōu)先級(jí)
NI nice值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
P 最后使用的CPU,僅在多CPU環(huán)境下有意義
%CPU 上次更新到現(xiàn)在的CPU時(shí)間占用百分比
TIME 進(jìn)程使用的CPU時(shí)間總計(jì),單位秒
TIME+ 進(jìn)程使用的CPU時(shí)間總計(jì),單位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 最后一次寫入到現(xiàn)在,被修改過的頁面數(shù)。
S 進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
COMMAND 命令名/命令行
WCHAN 若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
Flags 任務(wù)標(biāo)志

其他

默認(rèn)進(jìn)入top時(shí),各進(jìn)程是按照CPU的占用量來排序的。

1、在top基本視圖中,按鍵盤數(shù)字“1”可以監(jiān)控每個(gè)邏輯CPU的狀況:?

詳細(xì)解析Linux中top命令參數(shù)?
2、敲擊鍵盤‘b’(打開關(guān)閉加亮效果)top視圖變換如下:?

詳細(xì)解析Linux中top命令參數(shù)

PID為16283為當(dāng)前top視圖中唯一的運(yùn)行態(tài)進(jìn)程。也可以敲擊鍵盤‘y’來打開或者關(guān)閉運(yùn)行態(tài)進(jìn)程的加亮效果。

3、敲擊鍵盤‘x’(打開/關(guān)閉排序列的加亮效果),top視圖變換如下:?

詳細(xì)解析Linux中top命令參數(shù)

可以看到現(xiàn)在是按”%CPU”進(jìn)行排序的,可以按”shift+>”或者”shift+

4、改變進(jìn)程顯示字段

在top基本視圖中,敲擊”f”進(jìn)入另一個(gè)視圖,在這里可以編輯基本視圖中的顯示字段:

?詳細(xì)解析Linux中top命令參數(shù)

用上下鍵選擇選項(xiàng),按下空格鍵可以決定是否在基本視圖中顯示這個(gè)選項(xiàng)。

top命令是一個(gè)非常強(qiáng)大的功能,但是它監(jiān)控的最小單位是進(jìn)程,如果想監(jiān)控更小單位時(shí),就需要用到ps或者netstate命令來滿足我們的要求。

相關(guān)推薦:《Linux視頻教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享