Windows10で話題のメモリ節約設定の罠でPCゲームがクラッシュ

WindowsOSには「サービス」と呼ばれる起動するプログラムを設定するツールが存在する。代々、「サービス」を放置していると、所有者が使わない機能がパソコンを立ち上げる際に"自動起動"がONになっていて、メモリを圧迫する要因になっていた。
しかしながら、最近のWindowsOSでは昔のようにに設定すると、逆効果になる「サービス」も存在している。

いらなかった「サービス」

Windowsを開発しているMicrosoftは良かれと思い実装した機能かもしれないが、サービスにある"sysMain"と"Remote Registry"はPCのセッティングを行う際に今までは必ずOFFにするのが定石であったように思う。しかしながら、"sysMain"は最近ではOFFにするほうがWindowsOSにおいて、クラッシュする頻度が増えてきたと考えている。
今回は、この"sysMain"という名称の「サービス」について少し記述する。

“sysMain"について

設定ウィンドウ(「サービス」)を起動すると、"sysMain"の解説がある。

長期間にわたり、システム パフォーマンスの維持および向上を図ります。

という記述があるが、これは今までのOSでは"Super Fetch"の解説とほぼ同一である。というより、名前だけ変わった同じ機能をする「サービス」かと思われる。しかしながら、著者のPCでこの「サービス」をOFFにしたところ、メモリ不足に起因すると思われるクラッシュが頻発するようになった。

もともと"Super Fetch"と呼ばれる「サービス」は、ユーザーの使うアプリと時刻を予測して、前もってメインメモリに読み込んでおくことでした。今は、補助記憶装置として使われるのはSSDであり、HDDの時代では必要だったかもしれない機能だが、現在は必要ないと著者は判断して起動しない設定にした。

メインメモリの管理者

“Super Fetch"と呼ばれていた頃は、前もってキャッシュとしてデータを読み込んでおくことしか、機能がなかったと思われるが、"sysMain"と名前が変わり機能も増えたように思われる。今までは、読み込むだけでメインメモリの容量を圧迫するだけであったが、現在の"sysMain"はメインメモリを管理する「サービス」となったように思われる。

Windows10のメモリ圧縮という機能

Windows10でタスクマネージャーを起動して、「パフォーマンス」タブのメモリを選択すると、現在の表示項目は画像のようになっている。

Windows10のいつ頃からか定かではないが、"使用中(圧縮)“との記述が確認できる。著者の記憶では少なくともWindows7においては(圧縮)という記述はなかったと記憶している。
つまり、Windows10になってメインメモリのデータを、WindowsOSの機能が圧縮して保持するようになったと考えている。どのタイミングでどのようなデータが対象なのかはわからないが、Windows10の新しい機能だと言えるだろう。

仮説

ここからは、詳しく調べたわけでもない推測を述べる。

おそらくであるが、"sysMain"はメインメモリをキャッシュメモリとして利用する他に、次の2つの機能が追加されたのだろうと考えている。

  • メインメモリのデータの解放
  • メインメモリのデータの圧縮

実際、冒頭で述べたように"sysMain"という「サービス」をOFFにしたところ、メモリのデータの"圧縮"機能は、動作しているところを見たことがなかった。また、メインメモリの容量が減るところも無かったように思う。

メインメモリの解放がされていないように感じていたことは事実なので、常駐型のメモリ解放ソフトを導入していたが、PCのクラッシュはなくならなかった。

長々と書いてきたが、要は機能向上により“sysMain"と呼ばれる「サービス」は、"Super Fetch"から機能が追加されたことにより、WindowsOSにとって重要な「サービス」かもしれないということ。

この推測は間違っているかもしれないが、多くの記事が「"sysMain"をOFFにしてメモリを快適に使う」的な記事があるが、それでも、メインメモリが原因でPCがクラッシュするようであれば、もう一度ONにするのもありかもしれない。