后端們最怕的事情之一就是服務(wù)器的負(fù)載突然飆升,這可能又意味著一個(gè)個(gè)奪目Call馬上要打過來了。碰到這種情況怎么辦,大家第一反應(yīng)一定是登陸到服務(wù)器上,先敲一個(gè)top命令看看Load Average吧。
創(chuàng)新互聯(lián)建站主營張家口網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),張家口h5小程序定制開發(fā)搭建,張家口網(wǎng)站營銷推廣歡迎張家口等地區(qū)企業(yè)咨詢
很多人說Load Average這一個(gè)指標(biāo)就能說明系統(tǒng)負(fù)載高了,這句話是對(duì)的。那么具體是哪里壓力大了呢?這三個(gè)數(shù)值是怎么計(jì)算出來的呢?可能很多人一下子都說不上來。
先來說說定義吧:在一段時(shí)間內(nèi),CPU正在處理以及等待CPU處理的進(jìn)程數(shù)之和。三個(gè)數(shù)字分別代表了1分鐘,5分鐘,15分鐘的統(tǒng)計(jì)值。
所以,這個(gè)數(shù)值的確能反應(yīng)服務(wù)器的負(fù)載情況。但是,這個(gè)數(shù)值高了也并不能直接代表這臺(tái)機(jī)器的性能有問題??赡苁且?yàn)檎谶M(jìn)行CPU密集型的計(jì)算,也有可能是因?yàn)镮/O問題導(dǎo)致運(yùn)行隊(duì)列堵了。所以,當(dāng)我們看到這個(gè)數(shù)值飆升的時(shí)候,還得具體問題具體分析。直接升級(jí)機(jī)器是簡單粗暴,但是治標(biāo)不治本。
top命令輸出了很多參數(shù),真正的服務(wù)器負(fù)載情況我們要綜合其他參數(shù)一起看。
第一行:
top - 20:41:08 up 18 days, 5:24, 2 users, load average: 0.04, 0.03, 0.05 top:當(dāng)前時(shí)間 up:機(jī)器運(yùn)行了多少時(shí)間 users:當(dāng)前有多少用戶 load average:分別是過去1分鐘,5分鐘,15分鐘的負(fù)載
具體需要關(guān)注的果然還是load average這三個(gè)數(shù)值。大家都知道,一個(gè)CPU在一個(gè)時(shí)間片里面只能運(yùn)行一個(gè)進(jìn)程,CPU核數(shù)的多少直接影響到這臺(tái)機(jī)器在同時(shí)間能運(yùn)行的進(jìn)程數(shù)。所以一般來說Load Average的數(shù)值別超過這臺(tái)機(jī)器的總核數(shù),就基本沒啥問題。
第二行:
Tasks: 216 total, 1 running, 215 sleeping, 0 stopped, 0 zombie Tasks:當(dāng)前有多少進(jìn)程 running:正在運(yùn)行的進(jìn)程 sleeping:正在休眠的進(jìn)程 stopped:停止的進(jìn)程 zombie:僵尸進(jìn)程
running越多,服務(wù)器自然壓力越大。
第三行:
%Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st us: 用戶進(jìn)程占CPU的使用率 sy: 系統(tǒng)進(jìn)程占CPU的使用率 ni: 用戶進(jìn)程空間改變過優(yōu)先級(jí) id: 空閑CPU占用率 wa: 等待輸入輸出的CPU時(shí)間百分比 hi: 硬件的中斷請(qǐng)求 si: 軟件的中斷請(qǐng)求 st: steal time
這一行代表了CPU的使用情況,us長期過高,表明用戶進(jìn)程占用了大量的CPU時(shí)間。us+sy如果長期超過80或者90,可能就代表了CPU性能不足,需要加CPU了。
第四行&第五行
KiB Mem : 65810456 total, 30324416 free, 9862224 used, 25623816 buff/cache KiB Swap: 7999484 total, 7999484 free, 0 used. 54807988 avail Mem total:內(nèi)存總量 free:空閑內(nèi)存 used:使用的 buffer/cache:寫緩存/讀緩存
第四第五行分別是內(nèi)存信息和swap信息。所有程序的運(yùn)行都是在內(nèi)存中進(jìn)行的,所以內(nèi)存的性能對(duì)與服務(wù)器來說非常重要。不過當(dāng)內(nèi)存的free變少的時(shí)候,其實(shí)我們并不需要太緊張。真正需要看的是Swap中的used信息。Swap分區(qū)是由硬盤提供的交換區(qū),當(dāng)物理內(nèi)存不夠用的時(shí)候,操作系統(tǒng)才會(huì)把暫時(shí)不用的數(shù)據(jù)放到Swap中。所以當(dāng)這個(gè)數(shù)值變高的時(shí)候,說明內(nèi)存是真的不夠用了。
第五行往下
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19868 root 20 0 19.733g 369980 15180 S 0.7 0.6 129:53.91 java 19682 root 20 0 19.859g 5.766g 22252 S 0.3 9.2 139:42.81 java 54625 100 20 0 50868 33512 4104 S 0.3 0.1 0:04.68 fluentd PID:進(jìn)程id USER:進(jìn)程所有者 PR:優(yōu)先級(jí)。數(shù)值越大優(yōu)先級(jí)越高 NI:nice值,負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí) VIRT:進(jìn)程使用的虛擬內(nèi)存總量 SWAP:進(jìn)程使用的虛擬內(nèi)存中被換出的大小 RES:進(jìn)程使用的、未被換出的物理內(nèi)存大小 SHR:共享內(nèi)存大小 SHR:共享內(nèi)存大小 S:進(jìn)程狀態(tài)。D表示不可中斷的睡眠狀態(tài);R表示運(yùn)行;S表示睡眠;T表示跟蹤/停止;Z表示僵尸進(jìn)程。 %CPU:上次更新到現(xiàn)在的CPU占用百分比 ; %MEM:進(jìn)程使用的物理內(nèi)存百分比 ; TIME+:進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒; COMMAND:命令名/命令行
這些就是進(jìn)程信息了,從這里可以看到哪些進(jìn)程占用系統(tǒng)資源的概況。
top當(dāng)然是我們最常見的查看系統(tǒng)狀況的命令。其他命令還有很多。vmstat,w,uptime ,iostat這些都是常用的命令。
上述就是小編為大家分享的你看懂top了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞標(biāo)題:top命令中LoadAverage分析過程
轉(zhuǎn)載注明:http://aaarwkj.com/article8/gpieip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站制作、服務(wù)器托管、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)