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.0よりは快適に動作できるようだ。
この連載の記事
-
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? -
第418回
PC
Windows 11のスマートフォン連携は新機能が追加されるなど、いまだ進化している - この連載の一覧へ