ひっきぃのメモ帳

趣味で作るプラモデル製作の過程と作品、日々の資格取得へ向けての活動、Apple中心のIT関連ネタを書いています。

MacBookAirの熱暴走を阻止する方法

MacBookAir(初代)で最近困った事が発生していました。
高負荷状態でkernel_taskがCPUを占有して処理が進まない現象が発生していました。
裏でFarmVilleのFlashを起動しながら、iPhoneアプリ開発(OpenGLをフル回転)、さらにTimeMachineのバックアップ(無線LAN経由)が始まると、かなりの確率でこの現象が発生します。何かが終了できれば回復することもあるのですが、ほとんど再起動しないと回復できなくて困っていました。


どうやらkernel_task熱暴走しているらしいです。今まではそれほど気にならなかったのですが、最近高負荷なことをさせることも多くなったので、なんとかならないものか調べてみました。


CoolBookというシェアウェアが効果絶大のようなので導入を決意しました。
$10ということで、早速Paypalで支払い。円高だとちょっとお得かも。


早速設定してみると、カーネルパニックが発生。再起動しても、途中でカーネルパニックで起動しません orz。フルバックアップから復元しなければどうにもならない状態になってしまいました。TimeCupsuelにバックアップされているのを復元するのに10時間。無線じゃなくて、USB直結すればよかったか。


復旧してから再挑戦しました。きっと最初に試したのは、唯一作った設定が動かない値だったのだと思う。

最初にDefaultというボタンを押した画面はこんな感じ。

ただ、設定終了してから画面撮ったので、下の状態表示とかは最初の状態ではありません。
Throttling level は Medium
Temp limit は無し
でした。
この設定を保存して、Temp limit が無しの状態で動作させると、CPU温度が 100℃を軽く超えるようで、直ぐに画面真っ暗で落ちました。

今の設定はこんな感じ。

電圧が低い方が熱も発生しないので、なるべく低い値に設定します。
0.9Vが最低の電圧。
1600MHzの時は、0.9Vでは少し不安定な感じだったので、1段階上げてます。
1800MHzの時は、0.9625Vで不安定だったので、そこから1段階上げてます。
画面では85℃の設定ですが、一度落ちたので80℃で様子見してます。

負荷がかかっていない時は、低い周波数で動作して温度が下がり、負荷がかかってくると周波数も自動的に上がってくるようです。周波数が上がっても、温度が超えると周波数を押さえるようですが、1800MHzで安定してきます。


設定は少しずつ変えるのがよさそうです。それでも、何度か起動後のカーネルパニックには陥りましたが、起動している時に設定を変更してなんとかしのぎました。


新型ではこの問題発生しないのかなぁ。気になる。