IntelベースのMacの登場から、ソフトウェアはPowerPCとIntel CPUの両方で動く必要性が出てきました。このような両方の環境で快適に動くアプリケーションをUniversalアプリケーションと呼びます。

けど、なんとなくUniversalアプリケーションって使っているうちに動作が重くなる気がしません?
実は、それは気のせいではないのです。

Universalアプリケーションの問題点

画像
Finderのファイル-情報を見るコマンドでUniversalアプリケーションかどうかを確認できます。
UniversalアプリケーションはPowerPCとIntel CPUの両方で動作するように、それぞれの実行コードを1つのバイナリファイルに収めています。

このため、プログラム実行時に必要なメモリ使用量が大きくなってしまいます。

この問題を解決するには、PowerPC環境ならばIntel CPUの実行コード、Intel CPU環境なら、PowerPC環境の実行コードを削除する必要があります。

また、これにより、ハードディスクの容量の節約にもなります。

使用されるメモリを確認する方法

実際、Universalアプリケーションがどの程度メモリを消費しているのか?をまず確認しましょう。
以下のコマンドをターミナルに入力して実行します。
ps -axc -o 'command,rss,vsz'
コマンドを実行すると以下のような画面になり、実行中のアプリケーション(バックグラウンドで動作しているものも含む)の使用メモリが確認できます。
画像
文字列は右側から、“アプリケーション(プロセス)名(command)”“物理メモリ使用量(rss)”“仮想メモリ使用量(vsz)”という意味があります。ここでは、Pagesの物理メモリ使用量に注目してください。


不要な実行コードを削除する方法

画像
このソフトはiWork '09に含まれるUniversalアプリケーションで、最近のMacなら体験版がバンドルされているはずです。
先ほどのメモリの確認コマンドで確認すると、Pagesは「46156」の物理メモリが消費されていました。
PowerPCではIntel CPUの実行コード、Intel CPUではPowerPCの実行コードが(一部例外を除き)不要なものとなります。
ここでは、iMac G5(PowerPC)の環境下で、iWork '09に含まれる「Pages」の不要な実行コードを削除してみましょう。
ツールは「TrimTheFat」というフリーソフトを使用します。




まずは、TrimTheFatをダウンロードして入手してください。(※リンク先の右上の文字Download Nowをクリックしてダウンロードします)

「TrimTheFat」実行すると、以下のような画面になるので、不要なコードを削除したいアプリケーションをドラッグ&ドロップします。

画像
ドラッグ&ドロップした直後はMacに触らないようにしましょう。処理が完了するまでは、なるべくMacを操作しない方がよいと思います。Pagesならファイルサイズだけでも27.82MBも節約できます。


 ある程度時間はかかりますが、辛抱強く待てば処理が完了します。
実行している環境に応じて不要なコードが自動的に削除され、初期設定ではアプリケーションのバックアップも自動で行われるので、安心。

処理が終了するまでは、Macに触らないようにしましょう。ウインドウの左下にメッセージが表示されれば作業完了です。

では、Intel CPUの実行コードが削除されたバージョンのPagesを起動して、先ほどのメモリ確認コマンドを実行してみましょう。
画像
実行後の物理メモリ使用量は39080バイトです

ごらんのように、46156 - 39080 = 7076バイトも物理メモリが節約されています。仮想メモリにも若干の変化があります。

1GB以上の物理メモリが搭載されいているマシンならば、この程度のメモリ使用量の差はそれほど大きな問題ではありませんが、512MB以下の環境ならば体感でかなりストレスがなくなると思います。

普段の作業で、慢性的なメモリ不足に悩んでいる場合は試してみる価値はあるでしょう。

ただし、このようにUniversalアプリケーションの不要なコードを削除して使用する行為は、メーカーの保証外の作業であるため、不具合などが発生してもサポートを受けられません。あくまで自己責任の上でご利用ください。

補足)TrimTheFatでは、Pacifist、Skype、Speed Download、Acquisition をデフォルトでコード削除対象外にしています。
おそらくなにかの問題があるためだと思われますので、これらのソフト以外で使用する場合でも、とりあえずの動作が確認できるまでは、もとのアプリケーションはバックアップしておくことをおすすめします。