Libera Memory
Mac OS X はディスクアクセス時に生成される IO バッファをメモリ内にキャッシュとして保持し続けます。再度ディスクアクセスが発生した時にそのバッファキャッシュを使うことで処理を速くする仕組みになっています。この仕組みを Unified Buffer Cache(UBC)といいます。
アクセスがなければ古いバッファキャッシュから消えていきます。普通に OS を使う程度であれば、UBC は快適さを提供してくれます。しかし、たとえば巨大なファイルを多量に次から次へと処理し続けるような状況では、再利用されることのない不要なバッファキャッシュがどんどん溜まり、物理メモリの空き容量が圧迫されてシステムのパフォーマンスが低下してしまうことがあります。
技術には必ず「落としどころ」があります。それが優れた技術であるならなおさらです。UBC もすべての状況でその利点を発揮させるのは現実に不可能で、その設計に落としどころがあることは想像に難くありません。UBC があたかもすべてのどんな状況にもあまねく対応できるかのように言う人もいますが、それは非現実的なオカルト話です。IT 技術が常にイノベーティブな改良を余儀なくされていることも考えなければいけません。改良のために阻害要因(たとえばメモリ搭載量が少ない機器)が切り捨てられる現実を私たちはよく知っています。
Libera Memory はバッファキャッシュを素早く安全に消去します。物理メモリの空き容量が増えることで「切り捨てられた環境」を助けることができるかもしれません。もちろんこのソフトもすべての環境で効果があるわけではないので、助けられないことも当然にあります。むしろその方が多いかもしれません。どうぞご容赦ください。
Libera Memory はごくありきたりの簡単な du コマンドを起動ディスクに実行するだけです。「ファイルサイズを調べる」という読み出し処理だけなので、ディスクへの負担は比較的少ないと思いますが、なにごともやりすぎは良くありません。どんな道具にも使いどころがあります。やみくもに1日に数十回も実行するような使い方はお勧めしません。それは別の方法で解決すべきです。
▶使い方
・[Release]をマウスクリックするだけです。
・メモリ情報一覧で消去前後の変化を確認できます。バッファキャッシュが減ると Inactive 値が減り Free 値が増えます。(バッファキャッシュ= Inactive ではないので、まったく減らないこともあります)
・左下の矢印マークをクリックするとメモリ情報が更新されます。
・メニュー[ファイル > 可視プロセスを終了]で一括終了できます。(option キーを押していると Finder も終了します)
▶ 自動実行
アプリケーションパッケージ名に「Auto」の半角4文字を加えると、起動直後に自動的に処理を開始し、処理完了後に自動的に終了するようになります。
・「Auto」の4文字はどこにあっても構いません。大文字小文字どちらでもOKです。
・「Auto2」とすると2回連続で処理をします。「Auto9」の9回連続まで可能です。
・「Auto」「Auto0」「Auto1」は1回だけで終了します。
▶ 円グラフ
・円グラフの100%は「物理メモリの総量」です。
・円グラフは Google Chart API を利用しています。そのためインターネットに接続されていないと表示されません。
・メニュー[ファイル > グラフを隠す]で非表示にできます。
▶ “Free” に vm_stat を使う
メニューバー [ファイル > “Free” に vm_stat を使う] を選択すると、Free だけ vm_stat コマンドで取得した値を表示するようになります。OSX10.6 から vm_stat の Free の値だけが異様に少なくなったので、このオプションを設けてあります。
▶ Other
・「Other」は Libera Memory だけの呼称です。
・これは「物理メモリ総量」から「取得可能なメモリ情報(Free/Wired/Active/Inactive)」を差し引いた値です。
・Other には VRAM の総量が含まれる場合があります(参考資料)。ちなみに、アクティビティモニタのメモリ情報では、VRAM 総量が Wired に 加算されている場合があります。
・[“Free” に vm_stat を使う] をON にすると、Other が異様に増える場合があります。増えた領域がなんなのかは、作者も分かりません。(OSX 10.6 から見られるようになった現象です)
Mac OS X のメモリ情報
Free(空き)
データが存在しないのですぐに使える物理メモリ容量のこと。
Wired(固定)
ディスクへページアウトされないよう物理メモリ内に固定されているデータ量のこと。
Active(使用)
物理メモリ内の今現在使用しているデータ量のこと。
Inactive(不使用)
Active のデータは使用後も消去されずに Inactive として保持されます。バッファキャッシュはこの領域に入りますが、Inactive すべてがバッファキャッシュというわけではありません。OSX 10.6 からはバッファキャッシュが Inactive へ行く前にいったん Other の方へ行くようです。(「行く」と言ってもデータがメモリ内を移動しているわけではなく、そんなイメージということです。念のため)
Swap used(スワップ使用領域)
「物理メモリからディスクへ」とページアウトすることで生成されたスワップファイルの合計ファイルサイズのこと。ページアウトが発生するのは物理メモリの空き容量が不足した時です。空き領域を確保するため、システムが必要量を仮想メモリとしてディスクへ移動してスワップファイルを作ります。少々のページアウトは常識の範囲内なので気にすることはありませんが、頻繁に発生してスワップ使用領域が多量になるとシステムのパフォーマンスがかなり低下します。さらにシステム終了するまでディスクから消去されないので、物理メモリを解放して空き領域を増やしてもスワップ使用領域の値が(増えにくくなる期待はできますが)減ることはありません。物理メモリの搭載量を増やすと空き領域に余裕ができるので、ページアウトが発生しにくくなり、快適に長時間の操作ができるようになります。
インストール/アンインストール
・インストールは Libera Memory を任意の場所へコピーするだけです。
・アンインストールはゴミ箱で消去するだけです。
初期設定ファイルは、ユーザの /Library/Preferences/monokano/LiberaMemory/ フォルダの中にあります。
動作確認
OS X 10.3.9 PPC
OS X 10.4.11 PPC
OS X 10.5.8 PPC/Intel
OS X 10.6.2
履歴
ver 1.6.1
・1.6.0 で処理が終わっても du コマンドが実行し続けてしまう重大なバグがあったのを修正。
ver 1.6.0
・処理中でも Release を押すと反応してしまっていたが、しないように修正。
・メニューに「グラフを隠す」を追加
・イタリア語のローカライズを追加。
ver 1.5.0
・物理メモリ総量から取得可能なメモリ情報を引いた値を「Other」として表示するようにした。
・円グラフの100%を「物理メモリ総量」に固定した。
・「Wired に VRAM を加える」のオプションを削除。
ver 1.4.1
・自動実行時に円グラフが表示されない不具合を修正。
ver 1.4.0
・リストに「Swap used」を追加。
・リストから「Pageins」「Pageouts」を削除。
・円グラフを追加。
・「Free に vm_stat を使う」のオプションを追加。
・「Wired に VRAM を加える」のオプションを追加。
ver 1.3.1
OS X 10.6.2 で処理途中に停止してしまう不具合を修正。
ver 1.3.0
自動実行機能を追加
ver 1.2.0
メモリ情報表示のバグをさらに修正/inactive が減らなくなるまで処理を続けるように仕様を変更
ver 1.1.0
メモリ情報表示のバグを修正/可視プロセスを終了する機能を追加
ver 1.0.0 公開
クレジット
・このソフトウエアはフリーウエアです。
・著作権は作者にあります。
・再配付は自由ですが、現状の配布形態に一切変更を加えないでください。
・商業メディアへの掲載、収録等は事前に作者までご連絡ください。
・このソフトウェアを使用したことによる一切の損害について作者は責任を負いません。