デバイスドライバが利用できる最大I/Oバッファサイズ調整。  しかし | 俺の塩。の無駄ブログ

俺の塩。の無駄ブログ

自作PC、ネットゲーム、その他趣味や雑記を無駄に書き綴るブログ。

WinXPチューニングが大好きな方なら一度は見た事あるかもしれません。

レジストリ「IoPageLockLimit」値の調整を行う事により、アプリケーションからのHDDアクセス(書き込み)のI/Oバッファを拡張し、データ書き込みのパフォーマンスを向上させる!といったものですが


結論を先に言うと
殆ど効果無しorz


いろいろ調べてみると、どうやらこの理論はWindows2000が出た頃に言われていたものらしく、
約10年前当時のPC環境なら効果があるかもしれませんが、劇的進歩した最新のハードウェアではこの設定値は無意味に近いものがあると思われます。




■以下、検証結果です。
※最近のPC環境だと効果は殆ど無いと思われます。興味のある方のみ自己責任でお願いいたします。


まず設定方法ですが、以下のレジストリ値をいじります。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
DWORD値「IoPageLockLimit」(無い場合は作成する)を開き、「10進」をチェックした状態で好きなバッファサイズ(単位:バイト)を入力し、「OK」を押す。
  $俺の塩。の無駄ブログ-IoPageLockLimit_レジストリ.jpg
この「IoPageLockLimit」値が無い場合、512KB(デフォルト)設定になっているそうです。


►設定値:3421503488(約3.2GB)
  俺の塩。の無駄ブログ-IoPageLockLimit_3421503488.jpg

►設定値:226492416(約216MB)
  俺の塩。の無駄ブログ-IoPageLockLimit_0226492416.jpg

►設定値:4000000(約3.8MB)
  俺の塩。の無駄ブログ-IoPageLockLimit_0004000000.jpg

►設定値:512000(約512KB デフォルト)
  俺の塩。の無駄ブログ-IoPageLockLimit_0000512000.jpg

►設定値:1024(1KB(^^;)
  俺の塩。の無駄ブログ-IoPageLockLimit_0000001024.jpg

はい、どれも誤差の範囲です。
(設定値4MBと216MBで、シーケンシャルリードのみ約5%ほど良い結果になってますが。。まあ誤差でしょう。)

念のため、設定値変更ごとにPCを再起動したので、内部的に適用されてないというオチはありません。




IoPageLockLimitでググると、値変更でパフォーマンス向上といった内容のサイトが結構あります。
行く先々のオーナー様が独自の計算方法で最適値を求めていましたが、根拠は分かりませんでした。

フリーソフトのレジストリ変更ツールでも、この値を変更してパフォーマンス向上といった項目があります。
(実際に使ってみました。自動でIoPageLockLimitキーを作成、適当な値が設定されましたが。。)

決して否定はしませんが、いずれも私の環境なら変わりませんでした。
ちょっと残念。


※今回は、HDDのインターフェースがSATA2のHDDで検証しましたが、UDMA-66の時代のPCだったら効果あるのかな。。ちょっと検証しようがありません(^^;