這篇文章主要為大家展示了“CentOS系統(tǒng)中跟蹤高IO等待的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“CentOS系統(tǒng)中跟蹤高IO等待的示例分析”這篇文章吧。
創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為靖州企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都網(wǎng)站制作,靖州網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
高IO等待問題的第一個征兆通常是系統(tǒng)平均負載。負載均衡的計算都是基于CPU利用率的,即使用或等待CPU的進程數(shù)目,當(dāng)然,在Linux平臺上,進程 幾乎都處于不可中斷的睡眠狀態(tài)。負載均衡的基線可以解釋為,在一個CPU核的機器上上,該CPU得到充分利用。因此,對于4核機器中,如果系統(tǒng)平均復(fù)雜為 4,表示該機器有足夠的資源來處理它需要做的工作,當(dāng)然只是勉強。在相同的4核系統(tǒng),如果平均復(fù)雜是8,那么以為這將意味著服務(wù)器系統(tǒng)需要8個core才 能處理所要做的工作,但現(xiàn)在只有4個核,所以已經(jīng)超載。
如果系統(tǒng)顯示平均負載較高,但是CPU的系統(tǒng)(system)和用戶(user)利用率較低,那么就需要觀察IO 等待(即IO wait)。在linuc系統(tǒng)上,IO wait對系統(tǒng)負載有較大的影響,主要因為一個或多個核都可能被磁盤IO或網(wǎng)絡(luò)
發(fā)現(xiàn)進程在等待IO完成是一回事,驗證高IO wait的原因是另一回事。使用”iostat –x 1”能夠顯示正在使用的物理存儲設(shè)備的IO情況:
[username@server~]$ iostat -x 1
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d0 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66
cciss/c0d0p1 0.00 0.00 0.00 0.00 0.00 0.00 5.30 0.00 8.76 5.98 0.00
cciss/c0d0p2 0.00 0.00 0.00 0.00 0.00 0.00 58.45 0.00 7.79 3.21 0.00
cciss/c0d0p3 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66
由上可知,很明顯,設(shè)備/dev/cciss/c0d0p3的等待時間很長。然而,我們并沒有掛載找個設(shè)備,實際上,它是個LVM設(shè)備。如果您使用的是 LVM作為存儲,那么,您應(yīng)該發(fā)現(xiàn)iostat應(yīng)該有那么一點混亂。LVM使用device mapper子系統(tǒng)將文件系統(tǒng)映射到物理設(shè)備,因此,iostat可能顯示多個設(shè)備,比如/ dev/dm-0和/ dev/dm-1。而”df –h”的輸出卻不會顯示device mapper路徑,而是打印了LVM路徑。最簡單的方法是在iostat參數(shù)中添加選項”-N”。
[username@server~]$ iostat -xN 1
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
vg1-root 0.00 0.00 0.09 3.01 0.85 24.08 8.05 0.08 24.69 1.79 0.55
vg1-home 0.00 0.00 0.05 1.46 0.97 11.69 8.36 0.03 19.89 3.76 0.57
vg1-opt 0.00 0.00 0.03 1.56 0.46 12.48 8.12 0.05 29.89 3.53 0.56
vg1-tmp 0.00 0.00 0.00 0.06 0.00 0.45 8.00 0.00 24.85 4.90 0.03
vg1-usr 0.00 0.00 0.63 1.41 5.85 11.28 8.38 0.07 32.48 3.11 0.63
vg1-var 0.00 0.00 0.55 1.19 9.21 9.54 10.74 0.04 24.10 4.24 0.74
vg1-swaplv 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 3.98 1.88 0.00
為簡便起見,裁剪上面iostat命令的輸出信息。列出的每個文件系統(tǒng)所顯示出的IO等待都是不可接受的,觀察第十欄標(biāo)有“await”的數(shù)據(jù)。相比而 言,文件系統(tǒng)/usr的await時間要高一些。我們先來分析一下這個文件系統(tǒng),使用命令” fuser -vm /opt ”查看哪些進程在訪問這個文件系統(tǒng),進程列表如下。
root@server:/root > fuser -vm /opt
USER PID ACCESS COMMAND
/opt: db2fenc1 1067 ....m db2fmp
db2fenc1 1071 ....m db2fmp
db2fenc1 2560 ....m db2fmp
db2fenc1 5221 ....m db2fmp
當(dāng)前服務(wù)器上有112個DB2進程正在訪問/opt文件系統(tǒng),為簡便起見,列出四項。看來已經(jīng)找到導(dǎo)致問題的原因,在服務(wù)器上,數(shù)據(jù)庫配置為可使用速度更快的SAN訪問,操作系統(tǒng)可以使用的是本地磁盤??梢源螂娫拞枂朌BA(數(shù)據(jù)庫管理員)怎么做才能這樣配置。
最后一個組要的注意的是LVM和device mapper。 “Iostat –xN”命令的輸出顯示的是邏輯卷名,但它是可以通過命令”ls –lrt / dev /mapper”查到映射關(guān)系表。輸出信息的第六列中的dm-是與iostat中的設(shè)備名相對應(yīng)的。
有時候,在操作系統(tǒng)或應(yīng)用層是沒有什么可以做的,除了選擇速度更快的磁盤,并沒有其他的選擇。幸運的是,快速磁盤訪問,如SAN或SSD的價格正在逐步下降。
以上是“CentOS系統(tǒng)中跟蹤高IO等待的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:CentOS系統(tǒng)中跟蹤高IO等待的示例分析
標(biāo)題網(wǎng)址:http://m.rwnh.cn/article4/jepcie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、虛擬主機、動態(tài)網(wǎng)站、域名注冊、品牌網(wǎng)站制作、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)