漫画の地球儀

Windows10で「システムと圧縮メモリ」が重い原因、対処法!【CPU、メモリ使用量、パソコン】

スポンサーリンク

Windows10のパソコンのハードディスクが急にうるさくなり、パソコンの動作が重い状態になった場合にタスクマネージャーを覗いてみると「システムと圧縮メモリ」がCPU・メモリ・ディスクの使用率を圧迫していることがあります。
f:id:rick1208:20200528120343p:plain
このシステムと圧縮メモリが、数百MB~酷い場合には1GBものメモリ使用量になってしまっていたり、ずっとハードディスクにアクセスし続けるなどの症状が起こるためパソコンを満足に操作することができなくなってしまいます。

厄介なことに、原因となる行動が特定できず、いつの間にかシステムと圧縮メモリが膨れ上がってしまっている・・・ということが大半です。

ここでは、システムと圧縮メモリが重い問題が発生した場合の対処法をご説明していきます。

システムと圧縮メモリ

このシステムと圧縮メモリ(System And Compressed Memory)というプロセスは、Windows10のバージョン1511から見聞きするようになりました。

従来のWindowsでは、メモリ不足になったときにメモリの一部をハードディスクにページアウトして空きメモリを確保するようになっていました。ですが、バージョン1511からメモリマネージャーに「メモリ圧縮」機能が追加され、メモリマネージャーがメモリ不足を検出すると、使用していないページをハードディスクにページアウトするのではなく圧縮するようになりました。

簡単に説明すると、今までのバージョンではメモリが足らなくなった時にハードディスクにデータを退避させていたのですが、Windows10ではメモリ内で圧縮するようになったわけです。ですがその結果、圧縮時に負荷がかかる・システムと圧縮メモリのメモリ使用量が大きくなるといった症状が発生するようになってしまいました。

ハードディスクへの負荷がかからなくなったものの、パソコンの動作状況に関してはほぼ変わらない・むしろ悪化してしまうといった変な状況になってしまっています。


Windows10でシステムと圧縮メモリが重い問題の対処法

f:id:rick1208:20200528010734p:plain
それでは、Windows10でシステムと圧縮メモリが重い問題の対処法を説明します。

① Ndu、sysをレジストリから無効にしてみる

Windowsカーネルモードドライバー「Ndu、sys」はWindowsのネットワークデータ使用量を監視するドライバーサービスです。このNdu、sysを無効にすることで、ネットワークデータ使用量の監視を止めて問題を解決することが可能です。

この方法はレジストリを編集するので、一歩間違えるとパソコンに深刻なエラーをもたらしてしまいます。自己責任の上で、作業前には事前にバックアップを取ることをおススメします。


まず最初は「Windowsキー+Rキー」の同時押しで「ファイル名を指定して実行」を呼び出し、名前欄に「regedit」と記入して「OK」を押しましょう。レジストリエディターが起動します。
f:id:rick1208:20200528120538p:plain

レジストリエディターの左側のフォルダツリーから、「HKEY_LOCAL_MACHINE」→「SYSTEM」→「ControlSet001」→「Services」の順に展開して、「Ndu」を押して選びましょう。
f:id:rick1208:20200528121258p:plain
※Nduを右押して、右クリックメニューの「エクスポート」からレジストリのバックアップが行えます。バックアップは可能なだけ取るようにしましょう。

ウィンドウ右側にNduのリストが表示されるので、「Start」をダブル押しましょう。
f:id:rick1208:20200528121315p:plain
DWORD(32ビット)値の編集ウィンドウが表示されるので、「値のデータ」を「4」に変更して「OK」を押しましょう。

値のデータはデフォルトでは2(有効)になっていますが、4にすることで無効にすることが可能です。
f:id:rick1208:20200528121325p:plain
Startの値のデータを4に変更したら、レジストリエディターを閉じてパソコンを再起動しましょう。これで問題を解決することが可能です。

② SuperFetchを無効にしてみる

Windows Vistaから導入された機能に「SuperFetch」というものがあります。SuperFetchはユーザーのパソコンの使用履歴を監視していて、よく使うアプリケーションに対して事前にメモリにデータを読み込むことで、アプリケーションの起動を高速化してくれます。

しかし、その結果空きメモリが少なくなってしまったり、監視・データ分析のためにCPUを使用してしまうというデメリットがあります。

SuperFetchを無効にするには、デスクトップ画面左下のスタートボタンを押してスタートメニューを開き、「すべてのアプリ」から「Windows管理ツール」フォルダを展開して、「サービス」を押しましょう。
f:id:rick1208:20200528121351p:plain
サービスの一覧が表示されるので、「SuperFetch」をダブルクリックしてプロパティを開きましょう。
f:id:rick1208:20200528121408p:plain
SuperFetchのプロパティが表示されたら、「サービスの状態」を見てみましょう。「実行中」になっているはずなので、「停止」ボタンをクリックすることでSuperFetchを停止させることが可能です。

次に、「スタートアップの種類」が「自動」になっているので、「無効」に変更してから「OK」を押しましょう。これでSuperFetchを無効化することが可能です。
f:id:rick1208:20200528123441p:plain
無効化してもその時点で使用されているシステムと圧縮メモリのメモリ使用量が変わるわけではないので、1回パソコンを再起動しましょう。

再起動することで、システムと圧縮メモリのメモリ使用量を抑制することが可能です。

まとめ

f:id:rick1208:20200528010723p:plain

Windows10では、「システムと圧縮メモリ」というプロセスがCPU・メモリ・ディスクの使用率を大幅に食ってしまうことがあります。従来のWindowsとは違い、メモリが足らなくなった時にハードディスクにデータを退避させていたものを、Windows10ではメモリ内で圧縮するという機能なのですが、その結果としてパソコンの動作が重くなるトラブルを抱えてしまっています。

システムと圧縮メモリが重い場合は、Ndu、sysを無効化したり、SuperFetchを無効化することで改善することが可能ですよ。記事内で無効化の方法を説明していますので、ぜひ参考にしてみてください。