080307追記
どうやらこの値も都市伝説らしい。
http://www.thegline.com/win2k/issues/2003/16.htmlWindows2000SP1以降のWindowsはこの値を参照したりしないとか。
---
以下Windows2000が出たばっかりの頃なら偉そうに語れた内容
物理メモリ上に展開されたアプリケーションからハードディスクなどのデバイスへの読み書き命令は、デバイスと物理メモリ間の読み込み/書き込みレートの最大値が限定要因となって作用します。
だとしたら、このI/Oバッファサイズは物理メモリの量によって、変化させなくてはなりません。しかし、実はWindowsXPデフォルトでは、128MB以下のメモリ環境に合わせて各種設定が最適化されているんですが、この値もそうだったりしますので、このサイズを強制的に拡張してしまおうってのが、この設定のキモになります。ハードディスクへのアクセスが頻繁な場合は、この値を増やすとデータの読み書きのパフォーマンス向上が期待できます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
右ウインドウの「IoPageLockLimit」アイコンをダブルクリックで開き、数値を入力します。
しかし、この入力する数値が問題でして・・・・
web上で解説されているのはだいたい512MB以上の環境にのみお薦めしてますが、それぞれの数値はなぜかちょっとずつ違っていたりします。また設定可能な数値の最大値についての解説もいくつかありまして、どうも不得要領です。
例1:
ここや
ここ128MB以上の物理メモリを搭載する場合は、搭載メモリ容量の8分の1程度。512MBのメモリーを搭載しているパソコンなら64MB(10進数で1024*64の"65536"を指定←勘違いしていましたごめんなさい 10進数で1024*1024*64で"67108864"を指定)となります。
例2:
ここ物理メモリ量が128Mバイトの場合
(128-16)×1024×1024=117440512(バイト)
が最大値
例3:
ここと
ここ 同じ筆者さんですね。きっと。
512MB以上物理メモリを搭載したマシンは「4000000」
「IoPageLockLimit」をキーワードにweb検索してみるといいかも。
・・・体感速度に差が出るほど劇的には変化しないみたいですけどね。
---
※追記
引用元が不明瞭だった上、計算結果まで間違えていました。ごめんなさい。07/09/16
- 関連記事
レジストリエディタでIoPageLockLimitの変更をする場合は、バイト単位のはずですから、10進数で入力する場合、例えば64MBにするんだったら(64*1024*1024と計算し)67108864ではないでしょうか。
10進数で65536と設定してしまうと、64KBとなってしまい、デフォルトより小さくなるため、逆にパフォーマンスダウンする可能性があります。
こ、これは失礼しました。
おっしゃるとおり、値のデータはバイト単位でした。
http://www.itmedia.co.jp/help/tips/windows/w0579.html早急に訂正いたします。
ご指摘ありがとうございます。
http://www.thegline.com/win2k/issues/2003/16.html
現行Windows環境下では全くの無意味ですね。
こんにちは。
Windows2000SP1以降でこのレジストリがまったく参照されていない裏を取ってきました。
情報サンクスです。
とっても詳しい記事ですね。
同じネタがweb上でたくさん存在することもびっくりしました。
http://raipc.livedoor.biz/archives/51368355.html
うーん、詳しい。
コメントの投稿
トラックバック
この記事のトラックバックURL
http://menushowdelay.blog13.fc2.com/tb.php/353-1c9980b8
間違いだらけの Windows チューニング その2 (IoPageLockLimit)
結構昔から、IoPageLockLimit は 有効かどうか物議を醸しているので、ちょっと調査してみました。調べてみたのは、Windows 2000RTM(5.0.2195.1)とWindows 2000SP4(5.0.2195.7133)とWindows XP SP3(5.1.2600.3427) のカーネルです。
[2009/06/16 13:03]
URL
黒翼猫のコンピュータ日記 2nd Edition