タイトルBrowsing Mac OS X》そんなに使うの!?仮想記憶のディスクスペースカテゴリーBrowsing Mac OS X
作成日2001/4/3 15:56:46作成者新居雅行
Mac OS Xは、システムに仮想記憶の機能が組み込まれていて効率的に稼動するという触れ込みもある。Mac OS 9までと違って仮想記憶はオフにはできないため、システムの動作とは切っても切れないのであろう。この仮想記憶は、もちろん、ハードディスクのスペースを利用して、実際に搭載されている物理メモリよりも多くのメモリ空間をシステムやアプリケーションで利用するということを実現する。もちろん、物理メモリを大量に搭載してそれだけしか使わないという選択肢も、システム構築の上では可能で効率的だと考える向きもあるかもしれない。また、Mac OS 9まででは、利用形態によってはそうした利用方法を推奨していた時期もあった。だが、Mac OS 9のように、物理メモリの制限とそれを考慮した仮想記憶の上限があるようなシステムではそうしたことも可能だった。Mac OS Xでは、仮想記憶の上限はもはや指定しなくてもいいのである。言い換えれば、物理メモリしか使わないという選択肢はなくなったと言っていいだろう。もっとも、何ギガバイトもメモリを搭載すれば可能なのかもしれないが、仮想記憶を効率的に使うというのが、現代のOSなのである。
Mac OS XのProcess Viewerを見れば、dynamic_pagerというプロセスが動いている。このプロセスが、仮想記憶を司っている。ちなみに、/etc/rcというファイルの最後の方に、このプロセスを起動する設定がある。そこを見ると、/private/var/vmというディレクトリ(/var/vmも同じ)に仮想記憶のファイルを作成することが分かる。実際に仮想記憶のファイルを作成している様子は、Terminalで「ls -l /var/vm」などとコマンドを入れれば分かる。swapfile0などのファイルが仮想記憶のファイルだ。
それを見ると、80000000バイト、つまり約80MBの仮想記憶用のファイルを、必要に応じていくつも作成するというような動作になっている。実際にいろいろアプリケーションを使っているうちに、この80MBのファイルが次第に増えてくるのである。動作をこれまでいろいろ観察してみたのだが、とにかくアプリケーションの起動を行えば、次第に増えていくことはあっても、あまり減る方向には行かないように思える。アプリケーションを全部終了させれば、少しは減るかなと思うところだ。たとえば、半日程アプリケーションの起動や終了をかなり行うなどいろいろな作業をしたあとにふと見ると、ファイルは7つになっていた。つまり、仮想記憶のために500MBあまりのファイルを使っていたのである。
Mac OS 9までは、仮想記憶の上限を設定したら、そのサイズのファイルが確保されたので、ディスクの使用量は読めた。しかしながら、Mac OS Xは青天井にファイルを作っていくような気さえする。なお、この仮想記憶のためのファイルは、起動時にいったん確実にクリアされるようになっている。

インターネットでいろいろ検索していると、dynamic_pagerを起動するパラメータを変更して、仮想記憶のファイルの作る場所を別のドライブにしてみるということをやって、うまく行ったという報告も見られる。

◇OS-X FAQ: Reader Report: Swap Performance on OS X
 http://www.osxfaq.com/reports/vm.shtml

このページでも記述があるのだが、LinuxなどのUNIX系OSは、仮想記憶のためのファイル専用にディスクのパーティションを用意する。そして、そのパーティションは基本的には見えないようにしておく。ただ、そうした方法を取るとすれば、Mac OSからMac OS Xにアップデートするために、ハードディスクのパーティションをすべて切り直しを要求し、ファイルをいったん全部消すということを要求することになってしまう。これじゃあ、アップデートとは言えないだろうから、おそらく起動ディスク使った仮想記憶システムと言うことに落ち着いたと考えられる。
いずれにしても、仮想記憶のためにどれくらいの空きスペースが必要かということについては、起動ディスクにそれなりの分量を確保しておいかないといけないということになるだろうか。経験則はこれから積み重ねるとしても、筆者の使い方なら、500MBの空きでも足りなくなると言う可能性があるわけだ。今度パーティションの計画を再検討できるような機会があれば、仮想記憶分としては1GB程度は考慮に入れたいと考えている。
関連リンク