Windows 7でプリフェッチとスーパーフェッチの機能の無効化する手順

WindowsXPから導入されたプリフェッチと Vistaから導入されたスーパーフェッチの機能。



プリフェッチサービスの説明として、”長期間にわたり、システム パフォーマンスの維持および向上を図ります。”とあります。


この機能の説明として、マイクロソフトのサイトで情報が見つけられなかったので、wikiで。

>>Windows SuperFetch(wiki)


まず、この機能ですが、 簡単に言うと、起動するアプリケーションをメモリに事前に読み込んでおいて、アプリの起動を早くするといったものです。

Windows SuperFetch(ウィンドウズ スーパーフェッチ)とはWindows VistaWindows 7Windows 8/8.1、Windows 10に搭載されている、パフォーマンスの向上に関するディスクキャッシュ・メインメモリ管理機能である。Linux 用の preload に相当する。

 


そして、気にすべきはその利点と欠点ですね。
 
利点
・アプリケーションの起動速度の向上、全体的なレスポンスの向上
・空きメモリの有効活用

欠点
・メモリキャッシュの容量が増加する分、キャッシュの計算にCPUの時間を取られるのでCPUの稼働率が上がる(消費電力の上昇)。
・空きメモリ容量が十分でない場合、効果が出ない場合がある。
OSの起動直後は、SuperFetchの先読み動作により、かえってアプリケーションの起動に時間が掛かる場合がある。 

 

ちなみに、VMware Viewなどのリンクローンで展開するVDI環境において、Windows のプリフェッチとスーパーフェッチの機能を無効にすることによって、プリフェッチ ファイルの生成と、プリフェッチやスーパーフェッチの動作に関連したオーバーヘッドを回避できるそうです。


この操作によって、リンク クローン デスクトップの拡大を抑え、フル仮想マシンやリンク クローン上の IOPS を最小限にすることができますので、VDI環境の場合は、本機能を無効にするのが推奨ですね。

 
Windows 7でプリフェッチとスーパーフェッチの機能の無効化する手順】
Windows 7に管理者権限でログインします。

②「スタート」-「プログラムとファイルの検索」で「regedit」を入力し、レジストリエディターを起動します。

③  [PrefetchParameters] という名前のレジストリ キーに移動します。
※場所 
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥Session Manager¥Memory Management¥PrefetchParameters
 
④[EnablePrefetcher] と [EnableSuperfetch] の値を 0 に設定します。
 
⑤ [スタート] - [コントロール パネル] - [システムとセキュリティ] - [管理ツール] をクリックします。

⑥ [サービス] をダブルクリックします。

⑦ [Superfetch] サービスをダブルクリックします。

⑧ [(ローカル コンピューター)Superfetch のプロパティ]で、 [停止] をクリックします。

⑨ [スタートアップの種類] メニューで、 [無効] を選択します。

⑩ [OK] をクリックします。



以上で設定が完了です。また、最近のパソコンはハードウェアのパフォーマンスが向上しているそうなので、無効にしても問題なさそうです。