内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

windows系統(tǒng)中磁盤IO過高時的處理辦法是什么

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)windows系統(tǒng)中磁盤IO過高時的處理辦法是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司專注于福安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供福安營銷型網(wǎng)站建設(shè),福安網(wǎng)站制作、福安網(wǎng)頁設(shè)計、福安網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造福安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供福安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

磁盤IO過高時的處理辦法

針對系統(tǒng)中磁盤IO負(fù)載過高的指導(dǎo)性操作

主要命令:echo deadline > /sys/block/sda/queue/scheduler

注:以下的內(nèi)容僅是提供參考,如果磁盤IO確實比較大的話,是數(shù)據(jù)庫,可以進行讀寫分離或者分庫操作,減小磁盤壓力,文件的話,可以利用raid來減輕壓力

一)I/O調(diào)度程序的總結(jié):

1)當(dāng)向設(shè)備寫入數(shù)據(jù)塊或是從設(shè)備讀出數(shù)據(jù)塊時,請求都被安置在一個隊列中等待完成.
2)每個塊設(shè)備都有它自己的隊列.
3)I/O調(diào)度程序負(fù)責(zé)維護這些隊列的順序,以更有效地利用介質(zhì).I/O調(diào)度程序?qū)o序的I/O操作變?yōu)橛行虻腎/O操作.
4)內(nèi)核必須首先確定隊列中一共有多少個請求,然后才開始進行調(diào)度.

二)I/O調(diào)度的4種算法

1)CFQ(完全公平排隊I/O調(diào)度程序)

特點:
在最新的內(nèi)核版本和發(fā)行版中,都選擇CFQ做為默認(rèn)的I/O調(diào)度器,對于通用的服務(wù)器也是最好的選擇.
CFQ試圖均勻地分布對I/O帶寬的訪問,避免進程被餓死并實現(xiàn)較低的延遲,是deadline和as調(diào)度器的折中.
CFQ對于多媒體應(yīng)用(video,audio)和桌面系統(tǒng)是最好的選擇.
CFQ賦予I/O請求一個優(yōu)先級,而I/O優(yōu)先級請求獨立于進程優(yōu)先級,高優(yōu)先級的進程的讀寫不能自動地繼承高的I/O優(yōu)先級.


工作原理:
CFQ為每個進程/線程,單獨創(chuàng)建一個隊列來管理該進程所產(chǎn)生的請求,也就是說每個進程一個隊列,各隊列之間的調(diào)度使用時間片來調(diào)度,
以此來保證每個進程都能被很好的分配到I/O帶寬.I/O調(diào)度器每次執(zhí)行一個進程的4次請求.


2)NOOP(電梯式調(diào)度程序)----適用于SSD固態(tài)硬盤。

在新興的固態(tài)硬盤比如SSD、Fusion IO上,最簡單的NOOP反而可能是最好的算法,因為其他三個算法的優(yōu)化是基于縮短尋道時間的,而固態(tài)硬盤沒有所謂的尋道時間且IO響應(yīng)時間非常短。

特點:
在Linux2.4或更早的版本的調(diào)度程序,那時只有這一種I/O調(diào)度算法.
NOOP實現(xiàn)了一個簡單的FIFO隊列,它像電梯的工作主法一樣對I/O請求進行組織,當(dāng)有一個新的請求到來時,它將請求合并到最近的請求之后,以此來保證請求同一介質(zhì).
NOOP傾向餓死讀而利于寫.
NOOP對于閃存設(shè)備,RAM,嵌入式系統(tǒng)是最好的選擇.

電梯算法餓死讀請求的解釋:
因為寫請求比讀請求更容易.
寫請求通過文件系統(tǒng)cache,不需要等一次寫完成,就可以開始下一次寫操作,寫請求通過合并,堆積到I/O隊列中.
讀請求需要等到它前面所有的讀操作完成,才能進行下一次讀操作.在讀操作之間有幾毫秒時間,而寫請求在這之間就到來,餓死了后面的讀請求.

3)Deadline(截止時間調(diào)度程序)

特點:
通過時間以及硬盤區(qū)域進行分類,這個分類和合并要求類似于noop的調(diào)度程序.
Deadline確保了在一個截止時間內(nèi)服務(wù)請求,這個截止時間是可調(diào)整的,而默認(rèn)讀期限短于寫期限.這樣就防止了寫操作因為不能被讀取而餓死的現(xiàn)象.
Deadline對數(shù)據(jù)庫環(huán)境(ORACLE RAC,MySQL等)是最好的選擇.


4)AS(預(yù)料I/O調(diào)度程序)

特點:
本質(zhì)上與Deadline一樣,但在最后一次讀操作后,要等待6ms,才能繼續(xù)進行對其它I/O請求進行調(diào)度.
可以從應(yīng)用程序中預(yù)訂一個新的讀請求,改進讀操作的執(zhí)行,但以一些寫操作為代價.
它會在每個6ms中插入新的I/O操作,而會將一些小寫入流合并成一個大寫入流,用寫入延時換取最大的寫入吞吐量.
AS適合于寫入較多的環(huán)境,比如文件服務(wù)器
AS對數(shù)據(jù)庫環(huán)境表現(xiàn)很差.

三)I/O調(diào)度方法的查看與設(shè)置

1)查看當(dāng)前系統(tǒng)的I/O調(diào)度方法:

[root@test1 tmp]# cat /sys/block/sda/queue/scheduler 
noop anticipatory deadline [cfq]

2)臨地更改I/O調(diào)度方法:
例如:想更改到noop電梯調(diào)度算法:
echo deadline > /sys/block/sda/queue/scheduler

3)想永久的更改I/O調(diào)度方法: 如下
修改內(nèi)核引導(dǎo)參數(shù),加入elevator=調(diào)度程序名


[root@test1 tmp]# vi /boot/grub/menu.lst
更改到如下內(nèi)容:
kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ elevator=deadline rhgb quiet

重啟之后,查看調(diào)度方法:
[root@test1 ~]# cat /sys/block/sda/queue/scheduler 
noop anticipatory [deadline] cfq 
已經(jīng)是deadline了


四)I/O調(diào)度程序的測試

本次測試分為只讀,只寫,讀寫同時進行.
分別對單個文件600MB,每次讀寫2M,共讀寫300次.

1)測試磁盤讀:
[root@test1 tmp]# echo deadline > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/sda1 f=/dev/null bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 6.81189 seconds, 92.4 MB/s

real    0m6.833s
user    0m0.001s
sys     0m4.556s
[root@test1 tmp]# echo noop > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/sda1 f=/dev/null bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 6.61902 seconds, 95.1 MB/s

real    0m6.645s
user    0m0.002s
sys     0m4.540s
[root@test1 tmp]# echo anticipatory > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/sda1 f=/dev/null bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 8.00389 seconds, 78.6 MB/s

real    0m8.021s
user    0m0.002s
sys     0m4.586s
[root@test1 tmp]# echo cfq > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/sda1 f=/dev/null bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 29.8 seconds, 21.1 MB/s

real    0m29.826s
user    0m0.002s
sys     0m28.606s
結(jié)果:
第一 noop:用了6.61902秒,速度為95.1MB/s
第二 deadline:用了6.81189秒,速度為92.4MB/s
第三 anticipatory:用了8.00389秒,速度為78.6MB/s
第四 cfq:用了29.8秒,速度為21.1MB/s


2)測試寫磁盤:
[root@test1 tmp]# echo cfq > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/zero f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 6.93058 seconds, 90.8 MB/s

real    0m7.002s
user    0m0.001s
sys     0m3.525s
[root@test1 tmp]# echo anticipatory > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/zero f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 6.79441 seconds, 92.6 MB/s

real    0m6.964s
user    0m0.003s
sys     0m3.489s
[root@test1 tmp]# echo noop > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/zero f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 9.49418 seconds, 66.3 MB/s

real    0m9.855s
user    0m0.002s
sys     0m4.075s
[root@test1 tmp]# echo deadline > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# time dd if=/dev/zero f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 6.84128 seconds, 92.0 MB/s

real    0m6.937s
user    0m0.002s
sys     0m3.447s

測試結(jié)果:
第一 anticipatory,用了6.79441秒,速度為92.6MB/s
第二 deadline,用了6.84128秒,速度為92.0MB/s
第三 cfq,用了6.93058秒,速度為90.8MB/s
第四 noop,用了9.49418秒,速度為66.3MB/s


3)測試同時讀/寫

[root@test1 tmp]# echo deadline > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# dd if=/dev/sda1 f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 15.1331 seconds, 41.6 MB/s
[root@test1 tmp]# echo cfq > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# dd if=/dev/sda1 f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 36.9544 seconds, 17.0 MB/s
[root@test1 tmp]# echo anticipatory > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# dd if=/dev/sda1 f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 23.3617 seconds, 26.9 MB/s
[root@test1 tmp]# echo noop > /sys/block/sda/queue/scheduler 
[root@test1 tmp]# dd if=/dev/sda1 f=/tmp/test bs=2M count=300
300+0 records in
300+0 records out
629145600 bytes (629 MB) copied, 17.508 seconds, 35.9 MB/s

測試結(jié)果:
第一 deadline,用了15.1331秒,速度為41.6MB/s
第二 noop,用了17.508秒,速度為35.9MB/s
第三 anticipatory,用了23.3617秒,速度為26.9MS/s
第四 cfq,用了36.9544秒,速度為17.0MB/s

五)ionice

ionice可以更改任務(wù)的類型和優(yōu)先級,不過只有cfq調(diào)度程序可以用ionice.
有三個例子說明ionice的功能:
采用cfq的實時調(diào)度,優(yōu)先級為7
ionice -c1 -n7  -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&
采用缺省的磁盤I/O調(diào)度,優(yōu)先級為3
ionice -c2 -n3  -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&
采用空閑的磁盤調(diào)度,優(yōu)先級為0
ionice -c3 -n0  -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&

ionice的三種調(diào)度方法,實時調(diào)度最高,其次是缺省的I/O調(diào)度,最后是空閑的磁盤調(diào)度.
ionice的磁盤調(diào)度優(yōu)先級有8種,最高是0,最低是7.

注意,磁盤調(diào)度的優(yōu)先級與進程nice的優(yōu)先級沒有關(guān)系。一個是針對進程I/O的優(yōu)先級,一個是針對進程CPU的優(yōu)先級。

總結(jié):

1、CFQ和DEADLINE考慮的焦點在于滿足零散IO請求上。對于連續(xù)的IO請求,比如順序讀,并沒有做優(yōu)化。為了滿足隨機IO和順序IO混合的場景,Linux還支持ANTICIPATORY調(diào)度算法。ANTICIPATORY的在DEADLINE的基礎(chǔ)上,為每個讀IO都設(shè)置了6ms的等待時間窗口。如果在這6ms內(nèi)OS收到了相鄰位置的讀IO請求,就可以立即滿足。

IO調(diào)度器算法的選擇,既取決于硬件特征,也取決于應(yīng)用場景。

在傳統(tǒng)的SAS盤上,CFQ、DEADLINE、ANTICIPATORY都是不錯的選擇;對于專屬的數(shù)據(jù)庫服務(wù)器,DEADLINE的吞吐量和響應(yīng)時間都表現(xiàn)良好。

然而在新興的固態(tài)硬盤比如SSD、Fusion IO上,最簡單的NOOP反而可能是最好的算法,因為其他三個算法的優(yōu)化是基于縮短尋道時間的,而固態(tài)硬盤沒有所謂的尋道時間且IO響應(yīng)時間非常短。

2、對于數(shù)據(jù)庫應(yīng)用, Anticipatory Scheduler 的表現(xiàn)是最差的。Deadline 在 DSS 環(huán)境表現(xiàn)比 cfq 更好一點,而 cfq 綜合來看表現(xiàn)更好一些。這也難怪 RHEL默認(rèn)的 IO 調(diào)度器設(shè)置為 cfq

上述就是小編為大家分享的windows系統(tǒng)中磁盤IO過高時的處理辦法是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:windows系統(tǒng)中磁盤IO過高時的處理辦法是什么
鏈接URL:http://www.rwnh.cn/article18/ghcedp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、做網(wǎng)站、定制開發(fā)、電子商務(wù)網(wǎng)站收錄、App設(shè)計

廣告

聲明:本網(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)

綿陽服務(wù)器托管
凌海市| 波密县| 若尔盖县| 信丰县| 全南县| 天等县| 维西| 宁南县| 汶川县| 北辰区| 门头沟区| 阿克苏市| 宁化县| 上饶市| 衢州市| 泸溪县| 开远市| 紫云| 南投县| 突泉县| 日喀则市| 聂荣县| 灌云县| 依安县| 姜堰市| 乐业县| 赫章县| 兴宁市| 湟源县| 永春县| 庆阳市| 寿光市| 贵溪市| 达日县| 甘肃省| 天津市| 海阳市| 津南区| 双江| 龙井市| 贡嘎县|