本篇內(nèi)容主要講解“怎么更改linux操作系統(tǒng)文件緩存刷新策略”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么更改linux操作系統(tǒng)文件緩存刷新策略”吧!
為長島等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及長島網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都做網(wǎng)站、成都網(wǎng)站設計、長島網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
以下針對linux操作系統(tǒng),在centos/RHEL 6、centos/RHEL 7上測試有效。
和文件系統(tǒng)寫緩存策略相關(guān)的主要是下面兩個參數(shù),其它相關(guān)參考可自行谷歌:
/proc/sys/vm/dirty_ratio
文件系統(tǒng)寫緩沖區(qū)的大小,單位是百分比,表示系統(tǒng)內(nèi)存的百分比,表示當寫緩沖使用到系統(tǒng)內(nèi)存多少的時候,開始向磁盤寫出數(shù)據(jù)。增大之會使用更多系統(tǒng)內(nèi)存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。但是,當需要持續(xù)、恒定的寫入時,應該降低其數(shù)值。
/proc/sys/vm/dirty_background_ratio
控制 pdflush 進程在何時刷新磁盤。單位是百分比,表示系統(tǒng)內(nèi)存的百分比,意思是當寫緩沖使用到系統(tǒng)內(nèi)存多少的時候, pdflush 開始向磁盤寫出數(shù)據(jù)。增大之會使用更多系統(tǒng)內(nèi)存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。但是,當需要持續(xù)、恒定的寫入場合時,應該降低其數(shù)值。
vm.dirty_background_ratio: 這個參數(shù)指定了當文件系統(tǒng)緩存臟頁數(shù)量達到系統(tǒng)內(nèi)存百分之多少時(如5%)就會觸發(fā)pdflush/flush/kdmflush等后臺回寫進程運行,將一定緩存的臟頁異步地刷入外存;
vm.dirty_ratio: 而這個參數(shù)則指定了當文件系統(tǒng)緩存臟頁數(shù)量達到系統(tǒng)內(nèi)存百分之多少時(如10%),系統(tǒng)不得不開始處理緩存臟頁(因為此時臟頁數(shù)量已經(jīng)比較多,為了避免數(shù)據(jù)丟失需要將一定臟頁刷入外存);在此過程中很多應用進程可能會因為系統(tǒng)轉(zhuǎn)而處理文件IO而阻塞。
正常都是先達到vm.dirty_background_ratio的條件然后觸發(fā)flush進程進行異步的回寫操作,但是這一過程中應用進程仍然可以進行寫操作,如果多個應用進程寫入的量大于flush進程刷出的量那自然會達到vm.dirty_ratio這個參數(shù)所設定的坎,此時操作系統(tǒng)會轉(zhuǎn)入同步地處理臟頁的過程,阻塞應用進程。
也就是說,正常vm.dirty_background_ratio < vm.dirty_ratio才有意義。
在經(jīng)常有大量寫入操作的系統(tǒng)中,應該分別調(diào)低這兩個參數(shù)的值,加快數(shù)據(jù)刷盤的頻率,從而避免因系統(tǒng)同步處理文件IO而導致相關(guān)進程處于D狀態(tài)。
臨時生效方法(重啟后失效):
echo 5 >/proc/sys/vm/dirty_background_ratio echo 10 >/proc/sys/vm/dirty_ratio
或者
sysctl -w vm.dirty_background_ratio=5 sysctl -w vm.dirty_ratio=10
永久生效方法:
echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.conf echo "vm.dirty_ratio = 10" >> /etc/sysctl.conf sysctl -p /etc/sysctl.conf
到此,相信大家對“怎么更改linux操作系統(tǒng)文件緩存刷新策略”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!