私はいくつかのユーザーのxperfトレースを見てきましたが、ここでntoskrnl.exe!SmKmStoreHelperWorker
カーネルの機能がメモリの割り当てを開始します。
(画像をクリックすると拡大します)
sysinternalsでこれを発見しました。
私はそれについてマイクロソフトに尋ねましたが、答えはこれは仕様によるものです。システムメモリの圧縮に関連しています。
Windows 10ビルド10525の発表、Microsoftはそれを少し説明しました:
Windows 10では、圧縮ストアと呼ばれるメモリマネージャーに新しい概念を追加しました。これは、圧縮されたページのメモリ内コレクションです。これは、メモリマネージャがメモリのプレッシャーを感じると、ディスクに書き込む代わりに未使用のページを圧縮することを意味します。これにより、プロセスごとに使用されるメモリの量が減り、Windows 10が一度に物理メモリ内により多くのアプリケーションを維持できます。これにより、Windows 10全体での応答性が向上します。圧縮ストアは、システムプロセスのワーキングセットに存在します。システムプロセスはメモリ内にストアを保持するため、メモリが他のプロセスで使用可能になると、そのワーキングセットが正確に大きくなります。これはタスクマネージャーに表示され、システムプロセスが以前のリリースよりも多くのメモリを消費しているように見える理由です。
そのため、メモリデータをページファイルに書き込む代わりに、それらを圧縮します。そして、この圧縮メモリはシステムプロセスに表示されます。
マイクロソフトは内部ハブにも詳細を掲載しました。Winbetaは、詳細を含む記事を作成しました。
どうやら、この理由は、MicrosoftがUWPアプリをフォアグラウンドにないときにサスペンドすることを選択したことと、たまたまスマートフォンのOS管理に非常に似ていることと関係しているようです。Windows 8ユーザーは、アプリが画面に表示されていなければ、ユーザーが元の画面に切り替えるまで実行されないことを(おそらくではないが)理解していました。「オールオアナッシング」アプローチは、ページファイルと通常のページングアクティビティの間にレイヤーを導入するWindows 10で更新されています。現在、メモリ不足の問題に直面した場合、MMはトリミングと呼ばれるプロセスで、どのページを変更済みリストに移動するかを決定します。変更されたリストは、スタンバイページファイルのリストをバックアップするページファイルのセカンダリリストです。バックアップリストは、メモリが別のプロセスによってスタンバイリストから回収され、元のプロセスがそのページを探しに来た場合にキャプチャされます。Windows 10 MMは、すべてまたは何もする代わりに、未使用のページをディスクに書き込むのではなく圧縮します。書き込みが少なくなると、圧縮のおかげでディスク操作が少なくなり、より多くのデータをメモリに保存できるようになります。
Windowsチームによると、「実際には、圧縮メモリは非圧縮サイズの約40%を占め、典型的なデバイスが典型的なワークロードを実行する結果、Windows 10は以前のバージョンの50%だけをディスクに書き込みます。 OS。すべてが計画どおりに進んだ場合、Windowsユーザーは、すべてのデバイスの待ち時間が短縮されるだけでなく、フラッシュベースのハードドライブを搭載したシステムでの寿命が長くなる可能性があります。
減圧もWindows 10がうまく機能するように設計されたものです。Windows 10は、並列化とシーケンシャル読み取りの組み合わせを使用して、呼び出されたメモリにページを生成します。Windows 10は複数のCPUを使用してデータを同時に解凍し、並行して読み取るため、新しい解凍はより高速なエクスペリエンスをもたらすはずです。Windowsの古いバージョンは、ディスク間の転送速度のために動作が遅く感じられた可能性があります。
Microsoftは、この機能を説明するビデオをchannel9でもリリースしました。
Windows 10 RTMのメモリ圧縮
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
このビデオでは、Mehmet IyigunがWindows 10のシステムプロセスがもう少しメモリを消費している理由と、なぜそれが良いことなのかを議論しました。より多くのメモリを使用するプロセスは、悪いことのように聞こえます。それは、メモリ管理、ページング、ハード/ソフトページフォールトについてさらに理解するまでです。OSがいくつかの巧妙な最適化を行っているため、プロセスはメモリの一部をトリミングできますが、ディスクにページアウトする必要はありません。メモリはRAMに保存されるだけでなく、圧縮されるため、ハードページフォールトはよりまれに発生します。結果は、よりすてきな体験になります。
最新のTH2ビルドでは、Microsoftはタスクマネージャーの説明を更新し、SYSTEMプロセスが以下をホストしていることも示していますcompressed memory
。
「高」使用法に関する混乱を避けるため。
2016年8月にリリースされたWindow 10 Anniversary Updateで、Microsoft Memory Compression
はSYSTEMのメモリ使用量が非常に大きい理由をユーザーを混乱させないために呼び出される疑似プロセスに表示される圧縮を抽出しました。
しかし、Taskmgrはこのプロセスを表示しないようです。ProcessExplorer/ ProcessHackerのみが表示できます。Taskmgrは、概要に圧縮メモリの量のみを表示します。
Taskmgrの使用済みメモリグラフにカーソルを合わせると、圧縮されたデータの量を示すツールチップが表示されます。
このデモでは、388MBが122MBに圧縮されているため、267MBが圧縮とともに保存されます。