メモリの状態を見る Tips & FAQs Macintosh News |
Tips & FAQs 目次 |
Macintoshは米国アップルコンピュータ社の商標です
E-mail:香川大学 Design室 |
Tips & FAQs 目次 Macintosh トラブルニュース Macintosh News HomePage
メモリの状態を見る
Macintosh ではアプリケーションのメモリ割り当てをユーザが行わなければならない.( メモリ割り当ての具体的な方法は「アプリケーションメモリ割り当ての変更」を参照のこと)
ユーザがメモリを管理するためにメモリの状態をユーザが把握している必要がある.メモリの状態は「このコンピュータについて ... 」( OS のバージョンによっては「この Macintosh について ... 」)である程度知ることができる.
「このコンピュータについて...」
アップルメニュー(メニューバー左端のリンゴマーク)から「このコンピュータについて... 」を選択する.
(選択できない場合,メニューバー右端のアプリケーションメニューで Finder が選択されていることを確認する)▼
上右側に現在起動している Mac OS のバージョンが表示される.
中段左に「内蔵メモリ」「仮想メモリ」「最大未使用ブロック」が表示される.
下の欄は使用中のアプリケーションの状況が表示される.メモリを使用しているアプリケーション名と使用メモリとそのさらに詳しい状況を示すバーが表示される.図は Mac OS だけが使用している. 「内蔵メモリ」が物理的に実装されたメモリ合計
「仮想メモリ」は「メモリ」コントロールパネルで「入」になっている場合表示される.
「最大未使用ブロック」はメモリの未使用領域のうち連続している最大の領域を表示する.実装,仮想メモリから下の欄の合計を引いた数値ではない.▼ 例えば, Adobe Photoshop を起動してみる.メモリに Photoshop のプログラムが読み込まれ,その状況が「このコンピュータについて」に直ちに反映される.
下の欄に Adobe Photoshop の項目が現れ,メモリの使用状況を示すバーが現れる. 新たに Photoshop のために 20MB のメモリ領域が使われたことが表示される.同時に最大未使用ブロックがその分減少していることが分かる.
(この 20MB の値はユーザが設定できる.「アプリケーションメモリ割り当ての変更」参照)
最大未使用ブロックの値がこれから起動したいアプリケーションの最小メモリ設定値より小さい場合,起動することはできなくなる.
メモリ割り当て
メモリは実際にはトランジスタとコンデンサからなる単位の連続であり,それら単位にはアドレスという順番がついている.システムはアドレスに基づいてメモリを管理する.例えば,アプリケーションを起動すると,システムはアプリケーションにあらかじめ登録されているメモリサイズに相当する空き(アドレス空間)がメモリ全体にあるか確かめて空き領域にアプリケーション用の空間を確保し,アプリケーションのプログラムを電気信号の有無というかたちで記録していく.
コンピュータがメモリアドレスに電気信号を割り当てていく.この状態は「このコンピュータについて...」ではよく判らない.
Memory Mapper
メモリの状態を視覚的に表示するユーティリティが Memory Mapper という R. Fronabarger 氏の手になるフリーウェアである.
残念ながら現在の Macintosh にはメモリ管理の一部をユーザが行わなければならない部分がある. Macintosh のメモリを有効に活用するためには大変有用なユーティリティである.
このユーティリティを使用することで「このコンピュータについて...」では知ることのできないメモリの具体的な割付状態が分かる.また,「このコンピュータについて...」にはバックグラウンドアプリケーション(通常はユーザに動作していることが分からないのであるが実際には動作しているアプリケーション)が表示されないのに対し, Memory Mapper を使用するとそれらも表示される.また,それらを終了させる機能も備わっている.
Memory Mapper を起動する.▼ Memory Mapper を起動するとこのようなウインドウが現れる.(図は部分)
左側がメモリの状態を視覚的に表示したもので空白の部分が未使用アドレスとなり,各色が各プログラム用に確保されたメモリパーティションを表している.右側はプログラム名と他の情報が示される.
ここではシステム用の領域の一部( High Memory と Finder )と, Adobe Photoshop,SimpleText, Memory Mapper 自身が表示されている.
Finder と Photoshop の間には未使用領域があるがこれは「この Macintosh について...」では最大未使用ブロックからは除外される.
Memory Mapper を使用することによって,より詳細なメモリの状態を知ることができる.
アプリケーションヒープ
メモリにアプリケーションなどのプログラムが読み込まれる場合,あらかじめアプリケーションに登録されたメモリ割り当て量がメモリ空間に確保される.この確保された部分をアプリケーションヒープという.確保されたアドレスはアプリケーションなどを動作させるのに最低限必要なプログラム自体より一般には多めに確保される.つまり,確保されたメモリ空間の中にはその時点では使われない空間が確保(予約)されている.
そのような予約されただけで使われていない部分をアプリケーションヒープの空きという.このメモリ空間は最後まで使われないのではなく,アプリケーションの動作に必要だと見なされている量があらかじめ確保されているのである.
例えば,ワードプロセッサで新たに書類を作成したり,これまで作った書類を開くためにはその書類を読み込めるだけのメモリ空間が必要である.また,画像処理をする際に,10MB の画像を開くためにはそのためのメモリ空間が最低でも 10MB は必要である.(実際にはその数倍のメモリ空間が必要となる)このようにアプリケーションがさらに作業を続けるために必要なメモリの領域をあらかじめパーティションするためアプリケーションヒープに空きが生じるのである.
あるアプリケーションなどが他のアプリケーションヒープを利用することは原則としてはできないが,システム用ヒープをアプリケーションが利用することは可能である.システム用ヒープ割り当てはアプリケーションヒープと異なり OS が動的に割り付け変動する.そのために Macintosh 使用中にシステムヒープを使用するアプリケーションが使われていると,このシステムヒープがどんどん増大してくる現象が起きる.この場合もシステムに割り当てられた領域( Low Memory )に連続したアドレスに空きがなくなると Macintosh の動作は困難になる場合がある.その場合にはシステムヒープの増大を妨げているアプリケーション用メモリパーティションを解放すると一時的に回避できる.
アプリケーションのメモリ割り当てを変更するのは実際にはこのアプリケーションヒープを増大させていることになる.これらアプリケーションヒープについて,「このコンピュータについて...」から視覚的に状態を知ることができる.
「このコンピュータについて...」で表示される各アプリケーションなどのメモリバーは最初はこのように表示される.ここでは 20MB が確保されている画像処理アプリケーションが表示されている.
バーは満ちている部分とそうでない部分が区別できる.全体がアプリケーション用に確保されたアプリケーションヒープである.左側の満ちた部分が現在使用されているプログラム部で,右側が確保されただけのまだ使用されていないメモリ領域,である.▼ ここで画像を開いてみるとメモリバーがこのように変化する.画像をアプリケーションヒープに読み込んだため,その分が使用され満ちた部分がそれを表して長くなった.アプリケーションヒープの未使用部は減少していることが分かる.
たいていのプログラムではこの部分がなくなるとメモリが足りないなどとアラートが出るか,突然終了してしまう( Type 1-2 のエラーメッセージを伴うことが多い)
そのような場合にはアプリケーションのメモリ割り当てを増やす必要がある.Memory Mapper ではマップウインドウのアプリケーションの色の濃淡によってこれらを表示している.色の薄い部分が予約されて使われていない領域.
98/10/3
(C) Akiyama Satoru
Tips & FAQs 目次 Macintosh トラブルニュース Macintosh News HomePage
Tips & FAQs 目次
Macintoshは米国アップルコンピュータ社の商標です
E-mail:香川大学 Design室