{eval=Array;=+count(Array);}
top命令是linux系統(tǒng)中比較常用的一個命令了,通常用來監(jiān)控服務(wù)器整體的運行性能,我們可以通過top命令動態(tài)輸出的數(shù)據(jù)來判斷當(dāng)前系統(tǒng)的健康狀況,包括系統(tǒng)負載、CPU占比、內(nèi)存使用率等數(shù)據(jù)。
那么要想搞清楚top命令如何監(jiān)控Linux系統(tǒng)性能的前提是我們需要知道top命令輸出的各項數(shù)據(jù)的意思,根據(jù)這些數(shù)據(jù)來做下一步的判斷。
我們先來看top命令的正常結(jié)果輸出,如下圖所示:
我們可以把top命令輸出分為圖中紅色線框中的兩大部分。下面我們挨個講解這兩部分都是什么意思,以便我們可以了解每一個參數(shù)以及他對應(yīng)的數(shù)據(jù)值是否健康。
大家可以把Linux系統(tǒng)想象成一個去醫(yī)院體檢的人,而top輸出的就是這份體檢報告,我們需要根據(jù)這份體檢報告來判斷這個人的各項參數(shù)指標是否屬于正常范圍值,也就是這個人是否健康。
這個參數(shù)代表的是Linux系統(tǒng)的平均負載,后面三個參數(shù)的值代表的是系統(tǒng)一分鐘、五分鐘、十五分鐘三個時間段的平均負載,數(shù)字越大說明服務(wù)器的壓力越大。
那么到底多少是屬于健康范圍值之內(nèi)的呢?根據(jù)你的CPU核數(shù)來定,比如你是2核的,那么健康值就是0~2,四核的就是0~4。因此大家可以根據(jù)這個來判斷Linux系統(tǒng)的當(dāng)前負載。
可以看到總共80個參數(shù),其中正在運行的有1個,休眠中的有79個,0個停止的進程,0個僵尸進程。
這塊的數(shù)據(jù)基本上沒什么太大的異常,基本上同時運行的任務(wù)數(shù)肯定很少,其他的都在等待,沒有停止的進程和僵尸進程就好。
這塊就是CPU的詳細信息了,各個字段解釋如下:
0.5 us:用戶空間占用CPU百分比
0.2 sy:內(nèi)核空間占用CPU百分比
0.0 ni:用戶進程空間內(nèi)改變過優(yōu)先級的進程占用CPU百分比
99.3 id:空閑CPU百分比
0.0 wa:等待輸入輸出的CPU時間百分比
0.0%hi:硬件CPU中斷占用百分比
0.0%si:軟中斷占用百分比
0.0%st:虛擬機占用百分比
這塊數(shù)據(jù)還是比較明顯的,空閑CPU占比99.3%,所以系統(tǒng)壓力還是很小的,當(dāng)然你的系統(tǒng)也是浪費不少資源了。
KiB內(nèi)存:總共3881688 kb,空閑20032 kb,已使用1536684 kb,緩沖區(qū)2144772,那么大家知道可用內(nèi)存是多少嗎?可用內(nèi)存=空閑內(nèi)存+緩沖區(qū)內(nèi)存。
KiB交換區(qū):交換區(qū)總量0,空閑0,已使用0,緩沖區(qū)2076008,大家要注意的一點就是緩沖區(qū)不要有被使用,否則系統(tǒng)內(nèi)存屬于不夠用的狀態(tài)。
進程區(qū)代表的是當(dāng)前系統(tǒng)正在運行的進程的列表,看這個列表的前提是你需要搞清楚表頭的每一列代表的意思。
PID:進程ID
USER:運行該進程的用戶
PR:優(yōu)先級
NI:nice值,負值表示高優(yōu)先級,正值表示低優(yōu)先級
VIRT:進程使用的虛擬內(nèi)存總量,單位kb,VIRT=SWAP+RES
RES:進程使用的、未被換出的物理內(nèi)存大小,單位kb,RES=CODE+DATA
SHR:共享內(nèi)存大小,單位kb
S:進程狀態(tài),D=不可中斷的睡眠狀態(tài),R=運行,S=睡眠,T=跟蹤/停止,Z=僵尸進程
%CPU:當(dāng)前進程CPU占比
%MEM:當(dāng)前進程內(nèi)存占比
TIME+:進程使用的CPU時間總計,單位1/100秒
COMMAND:執(zhí)行該進程的命令
知道這些字段的意思后,大家就可以查看這個列表里各個進程的情況了,重點關(guān)注的參數(shù)就是當(dāng)前進程的CPU占比以及吃了多少內(nèi)存。
以上就是我對“如何根據(jù)Top命令查看Linux系統(tǒng)性能”問題的回答了,實際工作過程中我們還需要結(jié)合其他命令和Top命令一起更深一步診斷Linux系統(tǒng)的運行情況。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答