twitter ■お問い合わせ当サイトへのリンクサイト仕様

現在位置 > LostTechnology > Tips > Prefetchを無効にする

Prefetchを無効にする

Windows XP

Windows XPからはWindowsやアプリケーションの起動を高速化するためにPrefetch機能が搭載されています。

Windows XP で新登場の論理プリフェッチャ (Logical Prefetcher) は、シークを最小化する効果的な非同期ディスク I/O で、このデータのほとんどをシステム キャッシュに持ち込みます。起動中、論理プリフェッチャはデバイス初期化遅延と並列に、システムを開始するために必要なディレクトリ I/O のほとんどを完了し、高速起動を提供し、ログオン パフォーマンスを向上します。

ただし、このPrefetch機能は一部の環境と相性が悪いようで、Windows起動時にスタートアップに登録されているアプリケーションがエラーを起こして正しく起動できなくなることがあるようです。自ら体験した環境はCeleron/2GHzの自作機でよく起動時エラーを起こしていました。また、Outpostなどシステムにくい込むタイプのアプリケーションでもPrefetchが原因でのエラーが発生する可能性があります。

この場合は、一度再起動するか、それでもエラーになるのであればC:\WINDOWS\Prefetch内のファイルを削除してから再起動することで解消します。ただ、頻繁に起動時にエラーが繰り返して起こるようであれば、Prefetch機能自体を無効化してしまったほうがよいかもしれません。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
EnablePrefetcher=dword:0(初期値:3)

EnablePrefetcherの値は"and"処理となります。初期値の3はシステム起動・アプリケーション起動ともにプリフェッチが有効です。システム起動時には使わないがアプリケーション起動には使いたいという場合は、EnablePrefetcherの値を1にしましょう。

再起動後から設定した動作となります。ただし、システム起動のプリフェッチを無効にすると、WindowsXPの起動が多少遅くなることにはご注意を。