I/Oバッファサイズをレジストリで指定して、PCからのファイルの転送効率を向上させるIoPageLockLimitを検証してみました。

Windows Vistaでは、レジストリにIoPageLockLimitは記載されていないので、レジストリに記述から始めます。
レジストリはWindowsの大切なシステムです。不用意に書き換えたり削除すると、Windowsが正常に動作できなくなる場合があります。そのため、バックアップを実行してから編集するようにしてください。

バックアップソフトを使ったCドライブの丸ごとバックアップが安心ですが、最低でも、レジストリのバックアップと、システムの復元ポイントの作成を行ってください。

Windows Vistaでのシステムの復元ポイントは、「コントロールパネル」にある「バックアップと復元センター」を起動して、そこのタスクにある「復元ポイントの作成または設定の変更」でその時点での復元ポイントを作成することができます。

問題が発生したときは「システムの復元を使ってWindowsを修復」から、復元ポイントを選んで復元することができます。

レジストリ単体のバックアップと復元はこちら

レジストリI/Oバッファサイズ指定の作成手順

ファイル名を指定して実行から「regedit」と入力してレジストリエディタを起動します。

レジストリエディタのフォルダ階層(フォルダとは違いますがフォルダみたいなもの)で「HKEY_LOCAL_MACHIN\SYSTEM\CurrentControlSet\Control\Session Maneger\Memory Manegement」を開きます。

「Memory Manegement」の中を右クリックして「新規」の「DWORD(32ビット)値」を選び、名前を「IoPageLockLimit」と入力します。それをダブルクリックまたは右クリックの「修正」で10進数を選び、指定したいバイと数を入力します。

4MB確保したい場合は4(MB)x1024(KB)x1024(B)=「4194304」と入力します。入力すると16進数で値が表示されます。

IoPageLockLimit変更の結果

初期状態、4MB、8MB、16MBでPCMARK VANTAGEのHDD TESTとCrystalDiskMark2.1のファイル読み書き速度を計測しました。

結果は変化なし。誤差で数値が変動する範囲内でした。異なるHDDの比較では、グラフで大きな差があるのに対し、同じHDDでIoPageLockLimitを指定した場合はこれだけしか変わりませんでした。

測定環境
OS:Windows Vista Home Premium 32bit SP1
HDD:Seagate ST3500320AS(Brracuda 7200.11) 空の状態
インターフェース:JMicron eSATA AHCIモード(裸族のお立ち台プラス)

裸族のお立ち台を使ったJMicronとICH-9Rではほとんど違いがないことを確認済みです。HDTuneのBurstRateはICH-9Rよりも低かったです。チップセットに内蔵されているものと、後から追加されているSATAコントローラの違いでしょうか。

HDDの性能の違い

WD5000AAKS-00A7B0 500GBとST3500320AS 500GBの比較です。

IoPageLockLimit 比較

ST3500320ASでIoPageLockLimitのサイズによる比較です。計測の度に僅かに上下する変動の範囲内に収まっています。つまり、効果が現れていないことになります。

PCMARK VANTAGEでは、
初期:3830
4MB:3835
8MB:3802
16MB:3812
でした。

IoPageLockLimitを指定すると悪くなるような結果ですが、これも測定の誤差の範囲内のため、良くも悪くもならずといったところです。

 

外部リンク

黒翼猫のコンピュータ日記 2nd Edition
 間違いだらけの Windows チューニング その2 (IoPageLockLimit)
 Windows2000とXPでIoPageLockLimitの検証が行われています。
人気ブログランキング←この記事を評価する場合はこちらをクリック
このエントリーをはてなブックマークに追加 mixiチェック