Linux中怎么查看機(jī)器負(fù)載,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
網(wǎng)站建設(shè)、基于H5響應(yīng)式網(wǎng)站技術(shù)的Web開發(fā)、手機(jī)站開發(fā)、微信開發(fā)等互聯(lián)網(wǎng)應(yīng)用服務(wù)。創(chuàng)新互聯(lián)始終關(guān)注著互聯(lián)網(wǎng)行業(yè)的前沿動態(tài),創(chuàng)新互聯(lián)堅(jiān)信:真誠的態(tài)度,勤奮的工作是我們贏得客戶信賴的基礎(chǔ);而不斷創(chuàng)新、力求完美,才是創(chuàng)新互聯(lián)共同邁向美好未來的保證。
負(fù)載(load)是linux機(jī)器的一個重要指標(biāo),直觀了反應(yīng)了機(jī)器當(dāng)前的狀態(tài)。如果機(jī)器負(fù)載過高,那么對機(jī)器的操作將難以進(jìn)行。
Linux的負(fù)載高,主要是由于CPU使用、內(nèi)存使用、IO消耗三部分構(gòu)成。任意一項(xiàng)使用過多,都將導(dǎo)致服務(wù)器負(fù)載的急劇攀升。
查看服務(wù)器負(fù)載有多種命令,w或者uptime都可以直接展示負(fù)載,
$ uptime
12:20:30 up 44 days, 21:46, 2 users, load average: 8.99, 7.55, 5.40
$ w
12:22:02 up 44 days, 21:48, 2 users, load average: 3.96, 6.28, 5.16
load average分別對應(yīng)于過去1分鐘,5分鐘,15分鐘的負(fù)載平均值。
這兩個命令只是單純的反映出負(fù)載,linux提供了更為強(qiáng)大,也更為實(shí)用的top命令來查看服務(wù)器負(fù)載。
$ top
top命令能夠清晰的展現(xiàn)出系統(tǒng)的狀態(tài),而且它是實(shí)時的監(jiān)控,按q退出。
Tasks行展示了目前的進(jìn)程總數(shù)及所處狀態(tài),要注意zombie,表示僵尸進(jìn)程,不為0則表示有進(jìn)程出現(xiàn)問題。
Cpu(s)行展示了當(dāng)前CPU的狀態(tài),us表示用戶進(jìn)程占用CPU比例,sy表示內(nèi)核進(jìn)程占用CPU比例,id表示空閑CPU百分比,wa表示IO等待所占用的CPU時間的百分比。wa占用超過30%則表示IO壓力很大。
Mem行展示了當(dāng)前內(nèi)存的狀態(tài),total是總的內(nèi)存大小,userd是已使用的,free是剩余的,buffers是目錄緩存。
Swap行同Mem行,cached表示緩存,用戶已打開的文件。如果Swap的used很高,則表示系統(tǒng)內(nèi)存不足。
在top命令下,按1,則可以展示出服務(wù)器有多少CPU,及每個CPU的使用情況
一般而言,服務(wù)器的合理負(fù)載是CPU核數(shù)*2。也就是說對于8核的CPU,負(fù)載在16以內(nèi)表明機(jī)器運(yùn)行很穩(wěn)定流暢。如果負(fù)載超過16了,就說明服務(wù)器的運(yùn)行有一定的壓力了。
在top命令下,按shift + "c",則將進(jìn)程按照CPU使用率從大到小排序,按shift+"p",則將進(jìn)程按照內(nèi)存使用率從大到小排序,很容易能夠定位出哪些服務(wù)占用了較高的CPU和內(nèi)存。
僅僅有top命令是不夠的,因?yàn)樗鼉H能展示CPU和內(nèi)存的使用情況,對于負(fù)載升高的另一重要原因——IO沒有清晰明確的展示。linux提供了iostat命令,可以了解io的開銷。
輸入iostat -x 1 10命令,表示開始監(jiān)控輸入輸出狀態(tài),-x表示顯示所有參數(shù)信息,1表示每隔1秒監(jiān)控一次,10表示共監(jiān)控10次。
其中rsec/s表示讀入,wsec/s表示每秒寫入,這兩個參數(shù)某一個特別高的時候就表示磁盤IO有很大壓力,util表示IO使用率,如果接近100%,說明IO滿負(fù)荷運(yùn)轉(zhuǎn)。
總結(jié):
(1)使用top命令查看負(fù)載,在top下按“1”查看CPU核心數(shù)量,shift+"c"按cpu使用率大小排序,shif+"p"按內(nèi)存使用率高低排序;
(2)使用iostat -x 命令來監(jiān)控io的輸入輸出是否過大
關(guān)于Linux中怎么查看機(jī)器負(fù)載問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。