このページの本文へ

前へ 1 2 3 4 次へ

基礎から覚える 最新OSのアーキテクチャー 第7回

Windowsのメモリー管理をx86の仕組みから読み解く

2011年11月17日 17時24分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

リソースモニターの「メモリー」タブでは、各プロセスごとシステム全体のメモリーパラメータを表示できる

 リソースモニターでは、プロセスごとにさらに詳しい表示が表示可能だ。なお、各プロセスに割り当てられた物理メモリー量は「ワーキングセット」と呼ばれる。

項目 意味
プロセス ハードフォールト/秒 スワップアウトまたは未割り当てのページの1秒間の発生回数
コミット 仮想メモリーの割り当て量
ワーキングセット 仮想メモリーの割り当てのうち、物理メモリーが割り当てられている量
共有可能 ほかのプロセスと共有可能な物理メモリー量
プライベート ほかのプロセスと共有できない物理メモリー量
物理メモリ ハードウェア予約済み ハードウェアで予約されていて利用できないメモリー(32bitのみ)
使用中 何かに利用されている物理メモリー量
変更済み ファイルキャッシュなど、書き換えられて書き戻しが必要な量
スタンバイ 何かのデータがあるが、再利用可能なメモリー量
空き 何も使っていないメモリー量
その他 利用可能 スタンバイ+空きの合計量
キャッシュ済み キャッシュとして使われている量
合計 利用可能なメモリーの合計量(インストール済み-ハードウェア予約)
インストール済み 搭載されたメモリーの総量

 Windowsはページとして仮想メモリーに割り当てられていないメモリーを、ファイルキャッシュなどに使う。また終了したプログラムのコード領域やリソース領域などは、すぐにほかのプロセスに割り当てたりせずに、一旦は「キャッシュ済み」としておく。すぐに割り当てないのは、同じプログラムが短時間で起動~終了を繰り返すような場合を想定してのことだ。終了したのと同じプログラムの起動が指示された場合、キャッシュ済みの領域があれば、これを使ってプログラム(プロセス)の実行環境をつくる。

 最近ではメモリーがかなり安くなり、4GB超のメモリーを生かせる64bit OSも普及してきたので、メモリー不足ということにはあまりならないだろう。しかし32bit OSはハードウェア的には4GBまで、実際には3GBちょっとしかメモリーが利用できないし、未だに1GB以下のメモリーで使われているマシンもある。

 こうしたメモリー不足気味の環境で動かす場合、不要なプログラムを終了させてメモリーを解放し、すぐにほかのプロセスに割り当てる必要がある。だがメモリーに多少でも余裕があるなら、その解放を少し遅らせることで、プログラムを再度起動するときの時間を短縮できる。逆にプログラムが起動~終了を繰り返すと、メモリー割り当てに余裕はできるものの、起動のオーバーヘッドでCPU時間を消費してしまい、システムの負荷を上げてしまう可能性がある。

 終了したプログラムのメモリーイメージのうち、コードやリソースなどの共有可能な部分をキャッシュ済みとして、解放を遅らせる機能を逆に利用したのが「Super Fetch」だ。これはユーザーのプログラム利用パターンを解析して、ユーザーが起動を指示する前にプログラムをメモリーへと読み込んでおき、一旦キャッシュ済み状態にしておくものだ。

 プログラムはメモリーへ読み込まれるが、実行はユーザーが指示するまでしないわけだ。もしユーザーがそのプログラムを起動しなくても、メモリーが必要になればページとして割り当てられるし、CPUの処理に余裕があるならバックグラウンドで読み込んでおくことで、プログラムの起動時間を短縮できる可能性があるというわけだ。

 しかし、この機能には問題点もある。Windows Vista以降のシステムでは、Windows XPなどに比べると空きメモリーが極端に減ってしまうことになった。システム上は再割り当てが可能なので問題はないが、ユーザーはXP時代まで、空きメモリー量を頼りにメモリーの利用状況を把握していたから、こうした使われ方とはかみ合わない。そのために作られたのが、タスクマネージャーやリソースモニターで示される「利用可能」という項目だ。

 タスクマネージャーやリソースモニターでの表示を、わかりやすく図にしたものを図3に示す。この図と実際のタスクマネージャーなどの表示を見比べると、Windowsやアプリケーションがどれくらいメモリーを使っているのかが、理解しやすくなるだろう。

図3 タスクマネージャーやリソースモニターのメモリー関連パラメータを図にしたもの

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン