Windowsを使ってて重いな、と思ってタスクマネージャーを見たら SuperfetchというサービスがディスクIOを使い切っていました。
調べて見るとなくても良い機能だと思ったので停止しました。
Superfetch
Superfetch機能はWindowsの機能で ユーザーの動作を解析してスワップアウト/スワップイン(実メモリから仮想メモリへ退避/その逆) をアプリの動作前に行ったりするメモリ管理機能です1。
これによりメモリを効率的に使え、 またアプリの動作が体感的に速くなる、というもの。
ただ、メモリの容量が十分じゃなかったりすると余り意味がなく、 逆にこれを行うために使われるCPUによって動作が鈍くなったり、 キャッシュメモリ操作のためにディスクの読み書きへの負荷が強くなったりします。
実際、ディスクへの読み書きを100%使う様なことがよくあり、 全体のパフォーマンスへの影響が大きすぎたので切る事にしました。
SuperFetchを止める
タスクマネージャーを開いてサービスタブへ行きます。
その中にある名前がSysMainで説明にSuperfetchとある項目を探します。
これを右クリックして停止を押せば機能が止まります。
このままだと次回起動時にまた立ち上がってしまいますが、 完全に停止させるためにはサービス管理ツールから設定を行います。
上の絵で右クリック時に出ているサービス管理ツールを開くをクリックし、 サービス管理ツールを開きます。
その中からSuperfetchを探し右クリックしてプロパティを開きます。
この中でスタートアップの種類を無効にして適用すればOKです。
まとめ
しばらく使ってみましたが体感的に遅くなったりすることは全くありませんでした。
逆にしばらく使っていて急に重くなるような事が減った気がします。 気がするだけかもしれませんが少なくともディスクの読み書きが無駄に埋まる様なことはなくなりました。
前回の話同様、高速化、みたいなことはもはや余り意味を持たないことが多いと言うかむしろ 悪化させることも多いこともありますが、 これに関してはまだ止めたほうが良い場合もあるのではないかな、と思います。