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