本内容を理解するためにはメモリの基礎知識が必要である.次の Tips & FAQs を参考にしてもらいたい.
-
メモリの働き( Design 室授業資料. Design 室のみ公開)
メモリの状態を見る
アプリケーションメモリ割り当ての変更
メモリフラグメンテーション
Macintosh を使用していると,まだ十分なメモリがあるにも関わらず,メモリ不足のアラートが出たり,「このコンピュータについて... 」の画面で「最大未使用ブロック」の値が実際に使用されているアプリケーションのメモリ合計からすると少なすぎることなどを経験する.
これはメモリフラグメンテーション(メモリの断片化)が生じているからである.
アプリケーションを起動すると Mac OS はそのアプリケーションにメモリアドレスを割り当てる.アプリケーションの起動順にメモりアドレスが使用されていく.いくつかのアプリケーションを起動した後,後で起動したアプリケーションを開いたまま,初めの方で起動したアプリケーションを終了したとする.今終了したアプリケーションのアドレスは解放されるが,後のアプリケーションのアドレスはそのままである.そのため,連続したメモリ領域ができるわけでなく,メモリアドレスは分断化された状態となる.
このようになると,最大未使用ブロックは利用可能なメモリの空き領域の総量ではないため,いくつかの空き領域が分散していることになる.そのため,空き領域総量からすると十分起動可能なアプリケーションも連続した空き容量(すなわち最大未使用ブロック)がそれに満たない場合は起動できないことが起きる.
メモリフラグメンテーションの解消,予防
メモリフラグメンテーションが発生した場合,解消するためには後から開いたアプリケーションも終了させる.しかし, Open Transport の不備によって,インターネットを利用するアプリケーションを開いた場合にはそれらを終了しても最大未使用ブロックとして連続領域が確保されない場合がある.そのような場合は Macintosh を再起動するほかに確実な手だてはない.
メモリフラグメンテーションを予防するためには, Macintosh を起動して終了するまで開き続けているようなアプリケーションがあればそれらから起動していき,一時的にあるいは頻繁に開いたり閉じたりするアプリケーションは後から起動するようにする.また,できれば開いた順番を意識して連続領域ができやすいようにときおりアプリケーションを終了する.
また,インターネットアプリケーションによるメモリフラグメンテーションは TCP/IP コントロールパネルのオプションから「必要な時にのみにロード」のチェックをとることや,メモリコントロールパネルで仮想記憶を使用することで効果がある場合がある.