あなたの知らない“Windows 10のメモリ管理”の世界その知識、ホントに正しい? Windowsにまつわる都市伝説(97)(2/3 ページ)

» 2017年11月21日 05時00分 公開
[山市良テクニカルライター]

Windows 10 バージョン1607で「メモリ圧縮」が早くも廃止? いえ、隠されただけです

 Windows 10 バージョン1607(Anniversary Update)からは、この話題を見聞きすることはなくなりました。それはおそらく、タスクマネージャーの表示が「システムとメモリの圧縮」から「System」に戻ったからでしょう(画面3)。「システムと圧縮メモリ」によるメモリの大量消費に悩んでいた人の中には(悩むことに意味があったかどうかは別として)、Windows 10 バージョン1607で問題が解消されたと喜んだ人もいたかもしれません。

画面3 画面3 Windows 10 バージョン1607で「システムと圧縮メモリ」の名前は「System」に戻された

 Windows 10 バージョン1511のメモリ圧縮の機能は失敗作だったため、新バージョンでは廃止されたのかというと、そうではありません。メモリ圧縮の機能は引き続き動いています。ただ、表示から隠されただけです。その代わりに、タスクマネージャーの「パフォーマンス」タブには使用中のメモリのうち、圧縮されたメモリが示されるようになりました。

 メモリ圧縮のプロセスは、タスクマネージャーの「プロセス」タブや「詳細」タブに表示されなくなっただけで、実はちゃんと存在して動いています。「Windows Sysinternals」の「Process Explorer」でプロセスツリーを確認すると、「System」プロセス(プロセスIDは常に「4」)の子プロセスとして、「Memory Compression」プロセス(プロセスIDはランダム)の存在を確認できます(画面4)。おそらく、Windows 10 バージョン1511のタスクマネージャーの表示がいらぬ誤解を与えることを恐れ、表示から隠したのでしょう。

画面4 画面4 タスクマネージャーには表示されない「Memory Compression」プロセスが、Process Explorerには表示される。「Tasklist.exe」コマンドやGet-Processコマンドレットで確認することも可能

 なお、Process Explorerを使用しなくても、「Tasklist.exe」コマンドやWindows PowerShellの「Get-Process」コマンドレットで「Memory Compression」という名前のプロセスを確認できます。例えば、以下のコマンド/コマンドレットを実行すれば、目的のプロセスだけを簡単に見つけることができます。

tasklist |findstr /i "Memory Compression"


Get-Process -ProcessName "Memory Compression"


 また、Windows 10 バージョン1607以降でGet-MMAgentコマンドレットを使用すると、メモリ圧縮の機能が有効になっている(Memory Compression: True)ことを確認することができます。

 ちなみに、メモリ圧縮はクライアントエディションでは既定で「有効」であり、Windows 10 バージョン1607と同じビルドであるWindows Server 2016では「無効」になっています。タスクマネージャーの「パフォーマンス」タブは、圧縮されたメモリを常に「0MB」と表示します。

Copyright © ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。