第4回 Windows7のSuperFetchとReadyBoost(前編)
今回と次回に分けてWindows7のSuperFetchとReadyBoostのお話をします。これはWindowsVistaから実装されている機能です。
元々はReadyBoostのお話をしようと思っていたんです。ただ、書こうとして調べていくうちにSuperFetchの話もしなければならないと思いましてこの二つの機能についてお話ししたいと思います。この二つは非常に関係のあるお話です。まず今回はSuperFetchについてお話しします。
SuperFetchとは?
まず非常に基本的なことから、パソコンで実行するプログラムはハードディスクからメモリに読み込んで実行します。(さすがにここまで言わなくても・・・)ここで使用するプログラムを予めハードディスクからメモリ上に取り込んでおく機能をSuperFetchといいます。予めプログラムを読み込む方法ですが、ここは賢く作られています。ユーザーの操作パターンにより読み込むプログラムが異なります。平日か週末か?また時間帯(朝、お昼、夜)などそのときユーザーがよく使うプログラムを予測して予めメモリに取り込んでいきます。例えば、朝一にはメールソフト、平日昼休みにはウイルススキャンするプログラムなどですね。予めメモリに取り込んでおくことによりプログラムの起動が速くなると言うことになります。メモリ読み込まれたプログラムの起動は高速です。私の手元のマシンではExcel2010の起動時間が2秒でした。
XPにもプリフェッチという予めロードしておく機能はあったのですが、ここまで状況を判断するものではありませんでした。
効果は?試しに無効にしてみたら?
その一方、OS起動後や休止状態からの復旧時にはハードディスクからメモリにプログラムを読み込むのかハードディスクがアクセスしっぱなしになります。逆にOS起動後/復帰後にすぐに使いたいプログラムの起動の妨げになっているくらいです。以前、私はこれに疑問を感じて本当に使うかどうかもわからないプログラムを予め読み込んでしまうより、その都度読んでも速度的に対して違わないのではないかと思ったことがあります。必要ないのではないかという考え方もあります。
試しに、SuperFetchの機能を止めてみました。Windows7の場合の止め方ですが、[コントロールパネル]-[管理ツール]-[サービス]を起動します。サービスの中にSuperFetchという項目があるのでこのサービスを無効にして再起動をかけます。
すると起動時のハードディスクのアクセスしっぱなしがなくなりました。メールソフトなどもすぐに立ち上げることが出来ました。これは機能停止した方がいいなと思ったんです。しかし、その後使っていてWordやExcelの起動が遅いんです。実際はそこそこの速度で立ち上がってくれるんでしょうけど、遅く感じます。それを考えると最初だけは時間がかかるんですが、その後のプログラムの起動を考えるとSuperFetchを有効にしておいた方が全然速くて快適です。そういうことで、一旦は止めたSuperFetchのサービスを再開することにしました。
一旦止めてしまったので、折角の学習結果が消えてしまいましたが、それは使い続ければ何とかなります。定量的な表現ではなくて申し訳ないのですが、やはりSuperFetchを使うと個々のプログラムの起動は速いですね。SuperFetchを使わないとプログラム起動の度にハードディスクのアクセスを待つような感じですが、SuperFetchを使うと「スッ」とプログラムが立ち上がります。Excelだと2秒ほどで起動します。結論として私はSuperFetchを引き続き使うことにしました。
ポッドキャストでもお話ししています
今回の内容は私のポッドキャスト番組でもお話しさせていただいております。
下記のリンクから聴くことが出来ますのでよろしかったら聴いてみてください。
WoodStreamのデジタル生活 第33回 「WindowsのSuperFetchとReadyBoost」
WoodStreamのデジタル生活 第37回 「モニタアームとWindows7のスーパーフェチの続き」
次回は後編のReadyBoostについてお話しします。