14
OS X Mavericks を知ろう:その仕組み

OS X Mavericksには、実際に操作したり、実際に目で見て確認したりできる新機能が数多く搭載されています。しかし、Appleはオペレーティングシステムのコア部分にもいくつかの変更を加え、システム全体の動作を向上することに尽力しました。これらの内部的な変更により、パフォーマンスとバッテリー寿命が向上しています。

タイマー統合

インテルのHaswellチップ

現在Macに搭載されているIntelの第4世代Coreプロセッサ「Haswell」の改良点は、主に効率性の向上と消費電力の削減に重点を置いています。Mavericksには、AppleによるとMacユーザーが1回の充電でより多くの作業をこなせるようになるとされる新機能もいくつか搭載されています。

プロセッサを稼働させるとバッテリーを消耗するため、Mavericksは可能な限りCPUをアイドル状態にしようとします。プロセッサを稼働状態に戻すのにもかなりの電力が必要となるため、消費電力を実際に削減するには、電力消費を抑えるアイドル時間を十分に長くすることが重要です。

問題は、ほとんどのアプリケーションがプロセッサが休止状態にあることを認識しておらず、プロセッサを起動してバックグラウンドで細かなハウスキーピング処理を実行するよう、絶えず要求していることです。これらのバックグラウンド処理は必要不可欠な場合もありますが、各アプリケーションが呼び出しのタイミングを調整していないため、プロセッサはこれらの細かなタスクを処理するために頻繁に再起動を強いられることになります。

タイマーコアレッシングは、Mac OSの新機能ですが、MicrosoftではWindows 7以降で採用されています。アプリケーションの呼び出しタイミングを調整することで、複数のタスクをまとめて実行し、1つずつではなく一度に実行することで、プロセッサのアイドル時間を延長することを目的としています。その結果、CPUは処理中に時間をより有効に活用し、アイドル時間が長くなり、ウェイクアップ時間が短縮され、バッテリー寿命が長くなります。

メモリ圧縮

SSDは高速かもしれませんが、MacのRAMはさらに高速です。そのため、アプリケーションは必要なデータをすべてMacのメモリにロードし、必要なビットやバイトに素早く簡単にアクセスしようとします。

しかし、Mac のメモリ容量が不足するとどうなるでしょうか? RAM 容量が少なくなると、OS X Mavericks は Mac が現在使用していないデータを仮想メモリ (この目的のために予約されているメインストレージドライブの一部) にスワップし、新たに要求されたデータを RAM 内の適切な場所に移動します。

新しいアクティビティ モニターには、メモリの使用状況に関するより詳細な情報が表示されます。

このデータスワップには時間がかかり、特に仮想メモリがハードドライブ上にある場合は、アプリケーションのパフォーマンスが低下する可能性があります。一部のMacユーザーにとってRAMの増設は選択肢となりますが、コストがかかる場合があり、また一部のMacではRAMのアップグレードができません。

Mavericks では、Apple はメモリ圧縮を導入しました。これは、メモリからドライブにデータを転送するよりも、RAM にあるデータを圧縮して解凍する方が高速であるという概念に基づいています。

Mavericksでは、アプリケーションがMacのRAM容量を超える量のデータをRAMに読み込もうとすると、オペレーティングシステムは最も使用頻度の低いデータビットを圧縮するため、データが占める容量は以前の半分になります。そのデータが再び必要になった場合、Mavericksはすぐにデータを解凍し、要求元のアプリケーションで利用できるようにします。

アクティビティモニターでは、この機能の動作を確認できます。「メモリ」タブの新しい統計情報では、現在圧縮されているデータの量が表示されます。

メモリ圧縮により、メモリを大量に消費するアプリケーションのパフォーマンスが向上するだけでなく、Mac がストレージデバイスにアクセスする頻度が減るため、ハードドライブや SSD の消耗も抑えられます。

アプリナップ

Macが仕事に最適なのは、複数のMacアプリを同時に開いて、必要なタスクを全て処理できる点です。欠点は、バックグラウンドで開いているアプリは、実際にはMacのハードウェアリソースを消費しているにもかかわらず、何もしていないように見えることです。Macのノートパソコンで作業している場合、この動作はバッテリー寿命を著しく低下させる可能性があります。

バックグラウンドアプリを終了することもできますが、必ずしも現実的ではありません。そこでAppleは、バックグラウンドで動作し、開いているアプリの処理をより適切に管理する機能「App Nap」を開発しました。App Napは基本的に、アプリが何もしていないことを感知し、そのアプリを低電力状態にします。この状態では、アプリのCPU使用率を下げるタイマースロットリング、ストレージやネットワーク接続へのアクセス優先度を低くするI/Oスロットリング、そしてアプリに割り当てるCPU処理時間を少なくする優先度低下といった機能が搭載されています。Appleによると、App Napはアプリの消費電力を最大23%削減できるとのことです。

App Napはどのように機能するのでしょうか?特定の条件を満たすアプリを探します。アプリのウィンドウはDock内または他のウィンドウの背後に隠れている必要があり、音楽などのオーディオを再生していない必要があります。また、App NapはアプリがApp Napを明示的に無効にしているかどうか、また独自の電源管理機能を実装していないかどうかも確認します。アプリがこれらの条件をすべて満たしている場合、App Napが動作します。これらのバックグラウンドアプリのいずれかを使用する必要がある場合、App Napは無効になり、アプリはフルスピードで動作します。

アプリがオーディオを再生中、サーバーやインターネットからファイルをダウンロード中、あるいはMacのリソースをフルに消費するようなバックグラウンド処理を実行している場合、App Napは起動しません。また、ソフトウェア開発者はApp Napを無効にするようにアプリを開発することも可能です。

Mavericksでは、特定のアプリのApp Napを無効にすることができます。無効にするには、アプリの「情報を見る」ウィンドウを開きます(アプリをクリックしてCommand+Iキーを押すか、アプリをクリックして「ファイル」>「情報を見る」を選択)。すると、 「App Napを無効にしない」というチェックボックスが表示されますので、そのチェックボックスをクリックします。

Safari 省電力

ウェブサイトにアクセスした際に、自動再生される動画や、サイトの読み込みを遅くするアニメーションが次々に表示されるのは本当にイライラします。こうした動作がMacのハードウェアリソースを消費していることに気づいていない方もいるかもしれません。ノートパソコンの場合、これはバッテリーの消耗につながります。ウェブブラウジングは日々のコンピュータ使用の大部分を占めるため、このようなウェブサイトはバッテリーの持ち時間に大きな影響を与える可能性があります。

Safari は自動再生されるビデオを検出すると、そのビデオを一時停止し、最初のフレームだけを表示して、バッテリー寿命を節約します。

どうすればいいのでしょうか?AppleはOS X Mavericksに搭載されているSafari 7で、この問題に自ら取り組みました。Safari 7はバッテリー寿命を延ばすために改良されています。目立った変更点はSafariの省電力機能で、Appleによると、Webブラウジング時の電力消費を最大35%削減できるとのことです。

おそらく、Webページのメインコンテンツとは限らない、煩わしい自動再生動画に気づいたことがあるでしょう。多くの場合、それらはページの端の小さなウィンドウに表示されます。Safari Power Saverは、こうしたサイドビデオの自動再生を阻止し、代わりに動画の最初のフレームを表示します。動画を視聴したい場合は、クリックするだけです。この機能は、Safari 6のClickToFlashと機能的に似ています。Safari Power Saverは、ページ上のメインビデオの再生を妨げないので、閲覧したいコンテンツに集中できます。

Safari 7には、App Napに似た省電力機能がもう1つあります。現在使用中のタブのみが100%で動作し、他のタブは非アクティブモードのままです。別のタブに切り替えると、そのタブはフルスピードでアクティブになり、切り替え前のタブはSafariによって非アクティブになります。