GPU Panicとの格闘

3ヶ月前くらいからMacBook Proが突然リブートするという問題と戦っている。再起動するとOS Xの障害レポートが表示されGPU Panicだとか表示される。

GPU Panic問題はそれなりに発生している障害のようで検索するといろいろ情報が見つかる。

Macbook Pro Retina (mid 2012) GPU Kernal Panics cause reboots
https://discussions.apple.com/message/25027694#25027694

現在使っているRetina MacBook Pro mid 2012でわかっているのはグラフィックボードにIntel HD Graphics 4000NVIDIA GeForce GT 650Mが載っていて、Geforceが動くと死ぬということだった。片方のGPUで問題が起きる場合はgfxCardStatusというアプリで回避できるということがわかりこのアプリと使い方で回避し続けている。

gfxCardStatus で MacBook Pro のGPU切り替えを自在にコントロール
http://simasima.info/archives/1118

MacRumors が gfxCardStatus というユーティリティを紹介しています。これを使えば、複数のGPUを搭載した MacBook Pro で、ユーザーが統合GPU (CPU内蔵GPU) と独立GPUを簡単に切り替えられるようになるというもの。

統合GPUのみ (Integrated Only) に設定すれば省エネルギーで、バッテリー駆動時には駆動時間を優先できます。
独立GPUのみ (Discrete Only) にするとパフォーマンスを最大化できます。

で、gfxCardStatusを使って 統合GPUのみ (Integrated Only) に設定してIntel HD Graphics 4000に固定させるようにしている。

再起動しないように立ちまわることでOS Xの動きがわかってきた。まず外部ディスプレイを使う場合はGeforceが前提で使われるようだ。(以来、外部ディスプレイは使わないようにしている)

じゃぁ内蔵ディスプレイを使う場合は常にIntel HD Graphics 4000が使われるのかというとそうではなくアプリによって動的に切り替わっているらしい。iPhotoを起動するとリブートするとか、Google Chromeでウェブサイトのコンボボックスを開いた瞬間リブートするとかこのアプリはこういうところでGPU使うのか見たいなことがわかった。

最初は新鮮だったが、頻度が増えるうちに段々笑えなくなってきた。今は回避行動を続けているが回避行動を取る前だと1日に何回も突然再起動する状態だったので作業に支障がでる状態だった。

こんな状態でなぜ使い続けているかというと世間の情報では修理に1週間くらいかかるらしいということと、そろそろ2年になるしYosemiteが出たら買い換えようと思っていたからだ。買い替えてからゆっくりと治療(修理)をして別の役目を与えてあげようと考えていた。

しかしこの回避行動でも対応できないシナリオがある。それはスリープ解除を含むシステム起動時の問題でおそらくgfxCardStatusを使ってGPUを固定するまでに問題がおきていると思っている。起動時のログイン画面でGPU Panicで再起動、そのあと起動しても画面が映らないとか起動シーケンスで問題がおきると太刀打ちができない。完全に運ゲー。そしてマシンが1時間起動できない日があってジーニアスバーに予約を入れた。