相も変わらず弄り続けております、Inspiron mini 12。久しぶりのじゃじゃ馬PCだぜ、此奴ァ……。
こっそりFedora 11インストールに再チャレンジなんぞしてみましたが、あえなく撃沈。やはりFedora 10のほうがいいのか……と諦めてましたが、そこで起きたフリーズをもう一度考え直してみることに。
今までmini 12で遭遇したフリーズは大きく分けて2つだと思っていました。いわゆる電源ボタンエスケープ型フリーズと、熱暴走型フリーズ。前者はグラフィックドライバの不具合によるもので、キーボードその他の入力デバイスとの同期がとれなくなって見かけ上フリーズしたように思えるもの。電源ボタンはこの原因に依らないシステムになっているらしく、電源ボタンで終了ダイアログを呼び出すと画面が正常化していました。後者はOS問わず、PCどころか機械と呼称される存在には切っても切り離せない、いわずもがなのフリーズですが。
Fedora 11への再チャレンジに伴い、このどちらでもないと思えるフリーズに遭遇。正確には、前述の熱暴走型フリーズと思っていたものが、別の要因によるのではないかという可能性が浮かび上がってきまして。状態を説明すると、キーボードや電源ボタン及びGUIの全てが反応しなくなるのですが、何故かマウスカーソルだけは正常に動くというもの(ただしGUIも止まっているので何も出来ない)。熱暴走かな?と思っていたんですが、音楽をかけた状態でこのフリーズに陥った際、音楽はそのまま鳴り続けていたので不思議に思えまして。マウスカーソルが動く時点で気づけよ、とも突っ込まれそうですが、熱暴走であれば全てのシステムが動かなくなるはず。つまり、このマウスカーソル生存型フリーズは、熱暴走とは無関係ではないかという推論が成り立ちます。
さらに色々試してみたところ、このマウスカーソル生存型フリーズは、熱暴走とは全く関係ないことが分かりました。PC起動直後のまだ熱がこもっていない時や、PCの直下に保冷剤を置いて冷却していた時にもフリーズを起こしたので。
前置きが長かったですが、この3番目のフリーズにも対処できれば、mini 12のフリーズに悩む問題もほぼ解決しそうです。ただこの3番目のフリーズの場合、ログには何も怪しい挙動が残っていなかったので原因を突き止めるのに苦労しましたが。紆余曲折あって、カーネルパラメータに次のオプションを渡すことにしました。
# vi /boot/grub/grub.conf // Additional kernel parameter kernel ... (中略) ... nolapic
前回付与したpci=noacpiやnoapicは外しています。このnolapicは、Local APICを無効にするというもの。APICについてはWikipediaの記事を参照→APIC(Wikipedia)。ACPIと名前が似ていますが全く別のシステムで、割り込みコントローラというもの。普通にACPI関連のものと思ってました。orz
今のところ、このオプションで安定しております。ちゃんとシステムモニタも見えるし。不思議に思ったのは、システムモニタのCPU数が、nolapic状態では1つしかないこと。nolapicをつけてないと2つになっていました。しかし、ネット上の記事やDellの情報を見た限り、mini 12がデュアルCPUという事実はなく。2つ見えていた時と比較して、特別遅いということもないです。自分で分解して確認した時にも、CPUコアらしきものは1つしかなかったし。物理的なデュアルCPUではなく、論理的にデュアル状態にしていた? 理由は不明ですが。
ただこの推論があっているとすれば、nolapicでフリーズが解消される理由もうまく説明できます。Wikipediaの記事によると、Local APICはマルチプロセッサ環境におけるCPU間通信にも使われてるとのこと。なので、マウスカーソル生存型フリーズは論理的なデュアルCPU状態においてCPU間通信にエラーが発生し、割り込みがうまく効かなくなっている、と。nolapicを付与すれば、この意味不明なデュアルCPU状態を無効化するので、フリーズは起きなくなるのではと結論しています。
とすれば、nolapicをつければFedora 11もうまくインストールできるのではないかと思いますが、Fedora 10でも十分安定しているので、アップグレードはまた次の機会ということにしておきます。一々DVDインスト→ネットワークアップデートで時間をとられるのは嫌だし。これで熱暴走を起こさない限りは大丈夫……かもしれない。
Comment