真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux中務(wù)器IO過高處理過程是怎樣的-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)linux中務(wù)器IO過高處理過程是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的綿陽服務(wù)器托管服務(wù)

一、背景

   在一次上線升級后,發(fā)現(xiàn)兩臺tomcat服務(wù)器的IOwait一直超過100ms,高峰時(shí)甚至超過300ms,檢查服務(wù)器發(fā)現(xiàn)CPU負(fù)載,內(nèi)存的使用率都不高。問題可能出現(xiàn)在硬盤讀寫,而且那塊硬盤除了寫日志外,沒有其他的IO操作。最后發(fā)現(xiàn)是應(yīng)用打印的日志信息太多,導(dǎo)致磁盤IO負(fù)載過高。

二、尋求解決過程

通過查找資料發(fā)現(xiàn),Linux是用pdflush進(jìn)程把數(shù)據(jù)從緩存頁寫入硬盤的,那么通過修改pdflush的一些參數(shù)應(yīng)該可以改善IO負(fù)載問題。

pdflush的行為受/proc/sys/vm中的參數(shù)的控制

pdflush寫入硬盤看兩個(gè)參數(shù):

1 數(shù)據(jù)在頁緩存中是否超出30秒,如果是,標(biāo)記為臟頁緩存,寫入磁盤;

2 臟頁緩存是否達(dá)到工作內(nèi)存的10%;

pdflush的第一件事是讀取

/proc/sys/vm/dirty_expire_centiseconds(default 3000)

聲明Linux內(nèi)核寫緩沖區(qū)里面的數(shù)據(jù)多“舊”了之后,pdflush進(jìn)程就開始考慮寫到磁盤中去。單位是 1/100秒。缺省是 30000,也就是 30 秒的數(shù)據(jù)就算舊了,將會刷新磁盤。對于特別重載的寫操作來說,這個(gè)值適當(dāng)縮小也是好的,但也不能縮小太多,因?yàn)榭s小太多也會導(dǎo)致IO提高太快。

當(dāng)然,如果你的系統(tǒng)內(nèi)存比較大,并且寫入模式是間歇式的,并且每次寫入的數(shù)據(jù)不大(比如幾十M),那么這個(gè)值還是大些的好。

第二件事是判斷內(nèi)存是否到了要寫入硬盤的限額,由參數(shù)決定:

/proc/sys/vm/dirty_ratio (default 20)

控制文件系統(tǒng)的寫緩沖區(qū)的大小,單位是百分比,表示占系統(tǒng)內(nèi)存的百分比,表示當(dāng)寫緩沖使用到系統(tǒng)內(nèi)存多少的時(shí)候,開始向磁盤寫出數(shù)據(jù)。增大之會使用更多系統(tǒng)內(nèi)存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。但是,當(dāng)你需要持續(xù)、恒定的寫入場合時(shí),應(yīng)該降低其數(shù)值。

/proc/sys/vm/dirty_background_ratio(default 10)

控制文件系統(tǒng)的pdflush進(jìn)程,在何時(shí)刷新磁盤。單位是百分比,表示系統(tǒng)內(nèi)存的百分比,保留過期頁緩存(臟頁緩存)的大值。是以MmeFree+Cached-Mapped的值為基準(zhǔn)的,當(dāng)超過大值則緩存頁寫入磁盤。pdflush用于將內(nèi)存中的內(nèi)容和文件系統(tǒng)進(jìn)行同步,比如說,當(dāng)一個(gè)文件在內(nèi)存中進(jìn)行修改,pdflush負(fù)責(zé)將它寫回硬盤。每當(dāng)內(nèi)存中的垃圾頁(dirty page)超過10%的時(shí)候,pdflush就會將這些頁面?zhèn)浞莼赜脖P。增大之會使用更多系統(tǒng)內(nèi)存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。但是,當(dāng)你需要持續(xù)、恒定的寫入場合時(shí),應(yīng)該降低其數(shù)值:

/proc/sys/vm/dirty_writeback_centisecs(default 500)

控制內(nèi)核的臟數(shù)據(jù)刷新進(jìn)程pdflush的運(yùn)行間隔。單位是 1/100 秒。缺省數(shù)值是500,也就是 5 秒。如果你的系統(tǒng)是持續(xù)地寫入動作,那么實(shí)際上還是降低這個(gè)數(shù)值比較好,這樣可以把尖峰的寫操作削平成多次寫操作。

對于有高度寫入操作的系統(tǒng)

dirty_background_ratio:        主要調(diào)整參數(shù)。如果需要把緩存持續(xù)的而不是一下子大量的寫入硬盤,降低這個(gè)值。

dirty_ratio:   第二調(diào)整參數(shù)。

如果有大量的寫操作,為避免I/O的長時(shí)間等待,可以設(shè)置:

$ echo 5 >/proc/sys/vm/dirty_background_ratio $ echo 10 > /proc/sys/vm/dirty_ratio

另外文件系統(tǒng)數(shù)據(jù)緩沖需要頻繁的內(nèi)存分配。加大保留內(nèi)存的值能提升系統(tǒng)速度和穩(wěn)定。小于8G的內(nèi)存,保留內(nèi)存為64M,大于8G的設(shè)置為256M

$ echo 65536 >/proc/sys/vm/min_free_kbytes

三、最終解決方案

修改后效果明顯的參數(shù):/proc/sys/vm/dirty_expire_centiseconds (default 3000)

默認(rèn)是30秒,時(shí)間有點(diǎn)長,我把它改成10秒

echo 1000 >/proc/sys/vm/dirty_expire_centisecs

修改完后,IOwait時(shí)間立馬下降,平均40ms~50ms,是原來的1/3~1/4

困擾已久的IO問題得以解決!

以下是我的修改參數(shù)完整列表:

echo 5 > /proc/sys/vm/dirty_ratio echo 2 >/proc/sys/vm/dirty_background_ratio echo 100 >/proc/sys/vm/dirty_writeback_centisecs echo 262144 >/proc/sys/vm/min_free_kbytes echo 1000 >/proc/sys/vm/dirty_expire_centisecs

看完上述內(nèi)容,你們對linux中務(wù)器IO過高處理過程是怎樣的有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站標(biāo)題:linux中務(wù)器IO過高處理過程是怎樣的-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/dpepph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部