I/Oバッファサイズをレジストリで指定して、PCからのファイルの転送効率を向上させるIoPageLockLimitを検証してみました。
Windows Vistaでは、レジストリに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コントローラの違いでしょうか。

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

ST3500320ASでIoPageLockLimitのサイズによる比較です。計測の度に僅かに上下する変動の範囲内に収まっています。つまり、効果が現れていないことになります。
PCMARK VANTAGEでは、
初期:3830
4MB:3835
8MB:3802
16MB:3812
でした。
IoPageLockLimitを指定すると悪くなるような結果ですが、これも測定の誤差の範囲内のため、良くも悪くもならずといったところです。
外部リンク
・黒翼猫のコンピュータ日記 2nd Edition
間違いだらけの Windows チューニング その2 (IoPageLockLimit)
Windows2000とXPでIoPageLockLimitの検証が行われています。
バックアップソフトを使った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コントローラの違いでしょうか。

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

ST3500320ASでIoPageLockLimitのサイズによる比較です。計測の度に僅かに上下する変動の範囲内に収まっています。つまり、効果が現れていないことになります。
PCMARK VANTAGEでは、
初期:3830
4MB:3835
8MB:3802
16MB:3812
でした。
IoPageLockLimitを指定すると悪くなるような結果ですが、これも測定の誤差の範囲内のため、良くも悪くもならずといったところです。
外部リンク
・黒翼猫のコンピュータ日記 2nd Edition
間違いだらけの Windows チューニング その2 (IoPageLockLimit)
Windows2000とXPでIoPageLockLimitの検証が行われています。
コメント
コメント一覧 (5)
管理人の らいっち様は一体どこでこのような専門知識を得たのでしょうか?すごいです・・
そうですね、私の場合はとにかくいじってみることでしょうか。問題が起きればバックアップから復元すれば構いませんし。よほどのことでなければ、物理的に故障することはありません。(オーバークロックなどは除く)
それと、PC雑誌ですね。
初めて自分で購入したPCはNECのPC9821XT13で、Windows 3.1です。当時はまだPC使うのはマニアと言われるほどで、普及はしておらず、教えてもらえる人もいませんでした。唯一、パソコン通信のNifty Serveが質問できる場所でしたね。
PC雑誌で知識を得て、試して、を繰り返すうちに自然と、いろいろ試せる発想力が身につきます。トラブルが起きたときは、この発想が重要で、どこが原因になるかを思いつく度に、試して問題の部分を把握していきます。
ネットで調べるときも、発想に基づいて検索する言葉を決めて探します。
まあ、小さいときから実験とか理科が好きでしたが・・(笑)
インターネットの情報は便利ですが、信用度は高くないように感じます。
管理人さんは書籍等でもお調べになったようですが、2008/11/15 PCfan(P.45)では次のような記事が載っていました。
「IOPageLockLimitの設定項目はWindows2000(SP1)で廃止されているためXP/Vistaでは効果がない。」
この記事が間違っている可能性もありますが、調べてみる必要がありそうですね。
最近は情報の配信が簡単になりハードルが低くなった反面、間違った情報が流れやすくなったように感じます。記事には情報源を明記されるとよいと思います。
他にもAlwaysUnloadDLLの項目も95/NT4.0世代の設定項目で、XP/Vistaではスルーされるようです。これも多くのサイトで見かける裏技ですよね。他にもいくつかありましたので、お時間がありましたら、購読されるのもよいかと思います。
ご迷惑かと思いましたが、ちょっと耳にはさんだので。
ではでは。
情報ありがとうございます。
効果がないという情報も踏まえて、実際どうなのかを確認しました。
設定項目がレジストリから消えていても、項目を追加すればそれが有効になる可能性もあったもので。
結論からすれば記事の通り、ここでの方法では「効果はなし」という結果になりました。
しかし、他のブログ等で測定結果で効果があるとされている場合、私にはそれを否定することはできません。実際、効果があるのかも知れませんし。
また、PC雑誌等でも、記事に間違いが生じている場合も希にあります。
中には有名なところでも、ライターが仕様を完全に理解していなくて的外れなことが書かれていることもあります。本の場合、直接は修正できないのでやっかいですね。
よって、どんな情報にも、間違いはあることだと思い、複数の情報から判断するのが良いかと思っています。また、環境によって変わる場合、ある環境では正しく、別の環境では間違いになってしまうようなこともあります。
私のブログやサイトでも勘違いなどがありますので、そのような場合、ご指摘いただけると幸いです。
いつもこのHPにはお世話になっています。今回はたまたま見つけた情報でしたので、お知らせしました。
情報が入り乱れていることをご存知の上で検証されていたとは、アンテナの広さに脱帽です。
RamDiskの方でもいろいろ検証されているようですね。私も導入(Gavotte Ramdisk)してからメモリの使用状況が不可解で困っております(笑)
今回はお騒がせしました。
ではでは。