Windows 8.1 Updateのメモリの利用状況はいかに?
さて、メモリ状況だが、Windows 8.0と8.1 Updateでは、使い方がかなり違っているようだ。実際に8.1 Updateでは、メモリが1GBしかないマシンでもかなり快適になった。イメージ的には、ようやく実用になったという感じである。本来ならここでWindows 8.1と8.1 Updateを比べてみるべきなのだが、すでにWindows 8.1自体が入手困難であるため、ここではWindows 8.0と8.1 Updateを比較してみた。
具体的には何が違うのかというと、プログラムが利用するメモリのうち、完全にプログラムが占有していて、一時的に解放できない物理メモリ(プライベート)のサイズや、ある時点で占有している物理メモリのサイズ(ワーキングセット)が減っており、お互いに融通しやすい状態になっている点だ。
Windowsでは、物理メモリに余裕があると、これをファイルキャッシュなどとして利用することでシステムを高速化するため、タスクマネージャから見るメモリの利用量は、メモリが多くても少なくても、本当に何も使われていない「空き領域」は小さくなっている。このため、タスクマネージャのパフォーマンスタブでメモリの空きメモリだけを見ても、メモリ利用効率の違いははっきりとはわからないのだ。
しかし、リソースモニターのメモリタブで、同一のプログラムが利用しているメモリの状態を見ると、大きな違いがあった。リソースモニターでは、アプリケーションごとに以下のメモリに関するパラメーターを表示できる。
コミット:アプリケーションが使っている仮想メモリのサイズ
ワーキングセット:アプリケーションが現在利用している物理メモリのサイズ
共有可能:他のアプリに使わせることが可能な物理メモリのサイズ
プライベート:他のアプリには使わせることができない物理メモリのサイズ
アプリケーションが使っているメモリとは、このうち「ワーキングセット」として表示されている部分になる。このサイズが小さいほどメモリを利用していないことになる。このワーキングセットの中で、一番問題になるのは「プライベート」領域のサイズだ。メモリが不足したとき、この部分は仮想記憶機構によりストレージ側に待避しないと、他のアプリケーションが使うことができない。このためシステム全体で、この部分が大きくなってくると、ハードフォルト(ページフォルトとも。物理メモリが不足したため、現在メモリを占有している部分を外部記憶に待避させたり、逆に待避させていた領域を復帰させること)の頻度が増え、システムの負荷が高くなる。
これに対して共有可能な領域は、プログラムコードの部分で、他のアプリケーションがメモリを必要としたときにすぐに破棄して転用が可能だ(ただしすべてのプログラムコード領域が共有可能とは限らない)。再度必要になれば、実行ファイルから元の状態に戻せるため、これをストレージに待避する必要がない。なので、この部分はプライベート領域よりは低い負荷で他のアプリケーションが利用可能だ。
では、Windows 8.0と8.1 Updateでメモリの使い方を見てみることにしよう。下画面の上はWindows 8.0の、下画面の下は8.1 Updateのリソースマネージャの画面だ。プロセスのリストにある「dwm.exe」を見てみると、コミットやワーキングセットのサイズがそもそも違っている。
dwm.exeは「Desktop Window Manger」で、デスクトップなどWindowsの画面制御全般を司るモジュールだ。このプログラムは、常にメモリ上にいるものであるため、そのワーキングセットのサイズは、他のアプリが利用できる物理メモリの量に影響する。8.0では100MB以上あったワーキングセットが、8.1 Updateでは、72MBと小さくなっている。
しかし、Defenderなどで利用するセキュリティエンジンであるMsMpEng.exeを見ると、8.0でも8.1でもほとんど違いはない。このあたりは、8.1 Updateでの改良の対象になっていなかったのだと思われる。
ただし、これらのメモリに関する値は、ある瞬間をとらえたもの。たとえば、dmm.exeが利用するメモリは、動作しているアプリの数や画面更新頻度などでも変化する。これは起動後、しばらく待って、動きが落ち着いた段階で比較を行なっている。
メモリ利用の傾向を見るもう1つの方法が、画面右側にあるグラフを見る方法だ。特に3つめの「ハードフォルト/秒」のグラフは、一秒間に発生するハードフォルトの頻度を示し、このグラフが高くなるとハードフォルトが多発していることを示す。このため、このグラフが高い位置に止まり続けることは、物理メモリ不足が続いていることを示す。
このようなときには、実行しているアプリの数などに関係なく、反応が遅くなったり、動作が止まったようになることが多い。また、外部ストレージのアクセスランプが点滅し続けているはずだ。逆に、このグラフが低い位置にある場合には、ハードフォルトの発生が低く、システムは低負荷状態で、操作に対する反応が悪くなることもない。
なお、一般にWindowsは起動直後には、さまざまなサービスが動作するため、システムの負荷は高めになる。これはサービスがさまざまな状態を調べたり、処理の前準備などを行なうからだ。たとえば、インデックスサービスやOneDriveでは、ファイルの更新がなされたかどうかの確認をサービスが起動したときに行なうが、以後は、一定間隔で新規データの有無を調べるだけで、システムへの負荷が高くなることはない。
Windows 8.1 Updateでも、起動直後は比較的負荷が高く、残りメモリも少ない状態だが、数分もすると、落ち着いてきて、利用可能なメモリも増えていく。
Windows 8.1 Updateのメモリ利用の変化。左画面は起動直後(グラフが立ち上がっている)のもので、右画面はしばらく放置したあとのもの。ハードフォールトの頻度が低くなり、「利用可能」メモリのサイズが増えている
簡単な比較ではあったが、Windows 8.1 Updateにアップデートすることで、メモリが少ない機種であっても、Windows 8.0よりは快適に動作できるようだ。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第521回
PC
Windowsでアプリをインストールしたときに警告が表示する「Defender SmartScreen」と「Smart App Control」 -
第520回
PC
WindowsターミナルのPreview版 v1.25では「操作」設定に専用エディタが導入 -
第519回
PC
「セキュアブート」に「TPM」に「カーネルDMA保護」、Windowsのセキュリティを整理 -
第518回
PC
WindowsにおけるUAC(ユーザーアカウント制御)とは何? 設定は変えない方がいい? -
第517回
PC
Windows 11の付箋アプリはWindowsだけでなく、スマホなどとも共有できる -
第516回
PC
今年のWindows 11には26H2以外に「26H1」がある!? 新種のCPUでのAI対応の可能性 -
第515回
PC
そもそも1キロバイトって何バイトなの? -
第514回
PC
Windows用のPowerToysのいくつかの機能がコマンドラインで制御できるようになった -
第513回
PC
Gmailで外部メール受信不可に! サポートが終わるPOPってそもそも何? -
第512回
PC
WindowsのPowerShellにおけるワイルドカード -
第511回
PC
TFS/ReFS/FAT/FAT32/exFAT/UDF、Windows 11で扱えるファイルシステムを整理する - この連載の一覧へ











