2009年01月16日

MacBook Airの騒音と本体の発熱をCPUの電圧調整とファンの回転数調整で解決する

(Japanese only, but you can find the links to some English articles at the bottom of this article. You may find it usuful if you use MacBook Air, or any other intel MacBook)

CoolBookのことを初めて自分に教えてくれたKaku氏にこの記事を捧げます。
 
追記(2009/9/12):Snow Leopardとの互換性についても書きました。りんくはこちら(CoolBookとSnowLeopardの相性について:Leopardからのアップデート時の互換性注意事項
 
 CPUと本体がすぐ熱くなる。そして熱くなると遅くなる。しかもファンがうるさくてしょうがない。そんな悩みを抱えているマックブックエア(Mac Book Air)のユーザーは世の中に一体何人いるのだろうか。
 
 こんな製品は出せないと言い放つのはおそらく日本の技術者のみなさんであり、実際、マックブックエアは「私がこんな設計をしたら,社内で絶対通らないですよ」であったり、「技術的にすごいと感じるところは一つもない。我々ならもっと安く作れる」なのだそうである。(資料:Tech-On)

しかし、なぜかソニーが適当な商品を作ると「ソニータイマー」(資料:Wikipedia) といわれ、アップルが適当な製品を作ると、ユーザーは黙々と解決策の議論を重ね、もちろんアップルに文句を言う人や訴訟に至る人もいるのだが、結局は誰かが解決策を見いだしてなんとかしてしまうのである。これは卑怯だ。と日本の技術者は言うかもしれないが、残念ながら、私を初めとする日本の戦略家、マーケターの不徳の致すところに過ぎないのだろう。無念である。

 さて、海外ではこのヤンチャなマックブックのために多くの人々が日夜格闘している。要は、アップルが設計の一部と生産を外注してしまったために技術者がさぼっていた部分を自分でやってしまおうという事だ。

 つまり、CPUの電圧(Voltage)を減圧(UnderVolting)し、スピードステップ(SpeedStep)の設定を自分の個体に調整し、自分好みに設定した上で、それに併せてファンの最低回転数を引き上げると同時に最高回転数を制限することで、MacBook Airの課題である発熱と騒音を劇的に改善するという物である。


さて、早速どうやるか簡単に説明しよう。(具体的な作業はリンク先で自分で調べてほしい)

 第一に、CoolBookとCPUtest をここからダウンロードし、自分のマックブックエア(または別のシリーズのマックブック)の Intel Core Duo2の最適な電圧を指定しよう。多くの場合、20%以上使用電圧を下げることができる。どのようにやる知りたい人はこのウェブサイトに書いてあるのでそれを見るか、またはコメントを残してほしい。自分の場合、1.8GHz が1.1250Vから0.9375Vに、また1.6GHzはなんと1.0750Vから最低電圧の0.9000Vまで下がり、それ以外の周波数でも同様に最低値の0.9000Vまで下げることが出来た。
 簡単な熱量の計算で、使用電圧が下がれば下がるほど、もちろん熱量は下がる。0.9000Vはデフォルトでは800MHzしか動かせない電圧なのだが、それで1.6GHzまで駆動出来る様になる。大部分の作業は充分だ。
 一点、死ぬほどたくさん気をつけてほしいのは、これはサポート対象外で自己責任が必要、また機種によって、そして個別のマックブックエアによって実現出来る最低電圧は違うという事だ。設定の過程で何回もマックがクラッシュするのを見ることになるだろう。まぁ、理論的にいって特にCPUなどにダメージがある訳ではないと説明されているので、そこまで心配する事はない。
 また、CoolBookの機能を使ってスピードステップ(SpeedStep)の設定を自分好みに変更しよう。早さを感じたい人はすぐに1.8GHzに駆け上がる様に設定し、バッテリーの持ちを優先したい人は低い電圧で我慢する設定にしよう。これにはいろいろな意見があるが、自分の場合はそうはっても同じ電圧でも1.6GHzで動作させるのと800GHzで動作させるのは熱量が違う気がしたので(実際1.6GHzの方が温度が上がり易いのを観測)、600,900,1200,1400,1600,1800を動的に少し頻繁に動かす様にしている。まぁ、これは好みがあるし、議論がある。

 ちなみに、、、これは物凄く効果がある。まず、バッテリーの持ちが良くなり、そして熱くなり難くなり、ファンが回り難くなり雑音が減る。劇的に変化を実感出来るはずだ。少なくともこのCoolBookは10ドル出して買う価値はあるアプリケーションといえる(もちろん自己責任、保証は全くないので注意!!)。
 なんでこんなことがおきるかというと、要は統計的にかなりバッファを持って設計されている変数を、ちゃんと個体毎に調整して最適な数値にするという事だ。数十万個も生産すると実際1.1250Vじゃないと1.8GHzが駆動しない物も出てくる。生産現場や設計としてはコストなどとの戦いもあるので、どうしても余裕を持って設定したいのである。まぁ、賞味期限みたいなものだ(笑)


 第二に、smcFanControl2をここからインストールして、最低回転数を元の2500回転から、自分が気にならない程度まで上げよう。筆者の場合は3400回転に設定している。自分に取ってはほぼ無音に等しいが、これでかなり最初にファンが回転するのを送らせることができる。これは自分の許容出来る範囲でやろう。これは膝の上で作業する人にも効く。気にならない程度まで最初から上げておけば、だいぶ気になる状況になるのは遅れる。


 上記の二つをやった後に、第三に、automatorを使ってsmcFanControl2の隠れ機能をキックし、ファンの回転数の最大値を下げてしまうスクリプトアプリケーションを作ろう。自分の場合はそんなに重い操作をしていないのでファンの最大回転数をデフォルトの6200回転から4000回転まで下げてしまっている。
 理由としては、まず第一にCoolBookを使って発熱を押さえているので6200もいらないというのがまず大きい(絶対にCoolBookを使わないでこれはしてはならないと思う)。また、自分の場合は重い作業をする時は外付けの冷却台を使っているというのもある。
 念のため、前述のCoolBookでCPUの温度が80度以上に上昇した場合はCPUの速度を低下させるように設定している。また、このスクリプトアプリケーションを6200に設定するものと、4800に設定する物と4000に設定する物の三つを用意し、温度が上がりすぎた場合はクリック一つで6200に戻せる様に準備はしている。方法はここに記述してあるので参考にしてほしい。解らなかったら私に聞いても良い。
 実際使ってみて、4000と6200では実はCPUの温度に大差はない。自分個体では普通に使っていて4000で58-59度前後、6200回転で54-55度をベースに負荷をかけると一時的にあがる。他の人の温度の話を見るとyoutubeを見ると変な改造をしなくても80度は普通のようなので(資料:この方と、この方)、特に気にする必要はなさそうだ。温度にはどうもファンよりもSpeedStepの調整で周波数を下げた方が効果的の様に思える。そしてそれは、、五月蝿く鳴らない変更だ。。


 最後に、前述のcoolbookとsmcFanControl2とスクリプトアプリケーションをコントロールパネルのアカウントのスタートアップアイテムで起動時に起動する様に設定しておわりだ。


 これで今のところ、まずファンの最高回転数が低いのでどうやってもうるさくならない。そもそもの電圧が低いので温度も上がり難い。バッテリーの持ちも改善。と物凄い利益を得ている。というか、、、アップルさん!! ソニーやら、日本企業を見習って、このぐらい自分でやってください!!と、、一言愚痴も言わせてもらう。。。蛇足だが、回転数やクロック数の設定などはバッテリーのもちを取るか、静音性を取るか、速度を取るかなど色々と個々人の趣味が入ってくるので自分の好きな設定を楽しく発見してほしい。


最低限の事しか書いてないので、もし詳細を知りたかったら教えてね!

んじゃ。


参考にした資料 
A. Living with Apple’s MacBook Air - CPU Undervoltages And Fan Over RPMs: This is talking about almost the same thing to this article in English
B. Software to Keep Your MacBook Cool: This is also doing the same thing…
posted by Cotton at 09:52| Comment(6) | TrackBack(2) | 道具箱(gadgets) | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
CoolBookの導入を考えています。すごく参考になる記事です。
そこで、質問なのですが、バッテリーのもちはどれくらい良くなるのでしょうか?設定にもよるのでしょうが、おおよそで結構ですのでお教え頂ければ幸いです。
Posted by _agent at 2009年01月27日 01:44
 自分のケースでは少なくとも20分位は持ちが良くなっている様に感じています。
 おそらく設定で1.8GHzをカットして、0.9000Vだけで駆動する設定にし、もしあれであればさらに最大クロックを1.4GHzや1.2HGzにし、スロットリングレベルを下げるとパフォーマンスは多少落ちますが、さらに持ちが良くなると思います。
 参考になって嬉しいです。
Posted by cotton at 2009年01月27日 03:10
早速ありがとうございます。
CoolBook関連の記事はMacBook AirのCPUシングル化関係の記事しか見当たらず、実際、バッテリーのもちがどれくらいになるのか気になってました。これで導入に踏み切れそうです。
本当にありがとうございました。今後もAir関連の記事等、楽しみにしております。
Posted by _agent at 2009年01月27日 04:57
Posted by soma screening test at 2009年05月16日 10:50
Very nice site!
Posted by Pharmf747 at 2009年06月08日 08:04
MAC BOOK AIRの熱はなんとかならないのか?という疑問からいろいろ検索して、こちらにたどり着きました。

解決の糸口を掴めただけでなく、読み物として面白く、非常にたのしまさせて頂きました。Airの熱が取り持つ縁ですね。

ありがとうございました!
Posted by 井上 at 2010年06月24日 11:07
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/112680954
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

CoolBookとSnowLeopardの相性について:Leopardからのアップデート時の互換性注意事項
Excerpt: CoolBookとSnowLeopardの関係。アップデート時の注意事項
Weblog: Cotton Articles v6
Tracked: 2009-09-12 22:38

smcFanControl2で回転数の上限を設定する方法
Excerpt: CoolBookをMacBookに導入し、CPU温度が下がってきたのでファンの回転数上限を設定することにしました。 しかしながら、普段使っているsmcFanControl2で上限温度を設定しようと思..
Weblog: テクトリム
Tracked: 2010-02-11 07:59