このページの本文へ

前へ 1 2 次へ

Apple Geeks 第116回

WWDC 2013で登場、「Mavericks」のココが見どころ(OS X編)

2013年06月14日 11時00分更新

文● 海上忍(@u_shinobu

  • この記事をはてなブックマークに追加
  • 本文印刷

「メモリー圧縮」の効果はいかほど?

 メインメモリー容量は多いほどいい。この考え方は、物理メモリー容量が不足した場合に発生するページング(スワップ)がパフォーマンスに悪影響を及ぼすためで、たとえ内蔵ストレージがHDDからフラッシュストレージ/SSDにシフトしても変わらない。フラッシュストレージはHDDよりアクセス速度で上回るが、それでもメインメモリーのほうが圧倒的に高速だからだ。

 この問題に対するひとつの解決策が、OS X Mavericksに用意される。それは「Compressed Memory」、文字どおり(メイン)メモリー上のデータを圧縮する機構だ。Appleが公開したPDF資料「OS X Mavericks Core Technologies Overview」(OS X Mavericks - Advanced Technologiesで配布中)によれば、圧縮率はおよそ50%程度だという。

 Compressed Memoryが有効なOS X Mavericksでは、非使用中(Inactive)のプロセスが使用するデータは圧縮処理される。そのぶんメインメモリーにフリースペースを多く確保できるので、ページングの発生回数が抑制されるというわけだ。複数のアプリケーションを起動したときに発生しがちなレインボーサークル -- HDDへのページングが多発するとよく出現する ― は、この新機能によって出番が減るかもしれない。

 HDD/フラッシュストレージにデータを退避させないという機構は、システム全体のレスポンス向上に寄与する。OS X Mavericks - Advanced Technologiesによれば、Mountain Lionとの比較において、読み込み時の応答速度は1.4倍、スタンバイからの復帰は1.5倍高速化されるという。

 ごく短い時間での圧縮/展開が求められる機能であり、実際のパフォーマンスが気になるところだが、OS X Mavericks Core Technologies Overviewにあった「WKdm」という圧縮アルゴリズムから推測すると、この圧縮機能はLinuxカーネル 2.4で実装された「圧縮キャッシュ(compcache、Compressed Cache)」とよく似ている(関連リンク1関連リンク2)。

 ひょっとすると、その実装はcompcacheの上位互換である「zRam」(zram)に近いのかもしれない。いずれにしても、Mavericksがリリースされていない現時点では調べようがないため、その由来については後日調査することにしたい。

Linuxの「zRam」(zram)に似た(?)メモリー圧縮機能「Compressed Memory」

現在非使用中(Inactive)のメモリーを適宜圧縮/展開することで、ページングの発生を抑える


前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII.jp RSS2.0 配信中