ノートパソコンを落下させて動作がおかしくなった
2009-10-11
先日、ノートパソコン(Panasonic Let’s Note CF-R6)を落下させてしまい、動作が異常な状態になってしまいました。
ソフトウェアは落下以前と以後ではまったく変更をしていないため、ハードウェアのみの原因に的を絞って調べてみた記録です。
具体的な動作異常の内容
落下後の異常現象ですが、具体的には以下のような状態になりました。
- いつも動作させているプログラムの処理が異常に重い
- システムのシャットダウンまでの時間が異常に長い
- HDDを入れ替えても状況変わらず(HDD→SSDへ入れ替えてみました)
- メモリーに異常は見られず(memtest86でcheck#5までやっても異常なし)
- SSDのデフラグも行ったが重さは変わらず
- チェックディスク(CHKDISK)も行ったが問題は発見されず
ん?CPUがおかしいぞ
調べているとCPUの動作というか、CPUについての情報がおかしいことに気づきました。
搭載されているCPUは「Intel(R) Core(TM)2 CPU U7500 1.06GHz」なのですが、これがプログラム処理中にクロックが変化しています。 重いときになると必ずといっていいほど「191MHz」になっています。
この現象についてネットで調べてみると、ノートパソコンでバッテリーを使用中に電力の消耗を防ぐためにクロックを自動で制御する機構であることが分かりました。 対処法は「AC電源」に切り替えること。 しかし、私の持っているノートパソコンはAC電源で動かしているのです。 これはおかしい。
※どうやらCPUの温度が高すぎるためクロック低下が起こっていたようです。
CPU状況を監視するためのツール「MobileMeter」
なぜそのようなことが分かったかというと、プログラムなどを動かしながら同時にCPUの状況を詳しく監視できるツールを使って状況を見ることができたからです。
CPUの状況を監視するツールには、OSに標準で付属している「タスクマネージャー」の「プロセス」がありますが、温度やクロック数までは表示してくれません。 そこで役に立ったのが「MobileMeter」というソフトです。
MobileMeter は Windows で動作する、ノートPC 用のCPU情報表示プログラムで、現在のCPU温度(ACPI温度)や現在のクロック数を数字やグラフで示してくれます。 特にグラフが大変便利で、どの処理を行っているときにどれくらいCPU状況に変化が出るかを時系列で見ることができるので、原因を特定するのに大変重宝します。
MobileMeterはCPUの「温度管理ゾーン選択」タブを使って、CPUの温度管理ゾーンが複数あるCPUでもそれぞれを測定できるようになっています。 また、それぞれのCPU温度管理ゾーンの「クリティカル温度(リスク回避のためにシステムが強制終了する温度)」や「パッシブ冷却温度(システムが強制冷却を行いはじめる温度)」も項目として表示されるようになっています。
あと、MobileMeterはハードディスクの温度も同じように測定してくれます。 私のPCはSSDに換装しているため温度の測定はできなかったのですが、HDDを搭載しているノートパソコンの場合はHDDの温度もマシンのパフォーマンスを左右する重要な指標なので参考になるでしょう。
CPUクロックを固定して安定させる
さて、CPUクロックがダイナミックに変化して191MHzになるために重くなってしまうマシンですが、このCPUクロックを常に固定してしまうソフトがないものかと思って探していたら、ありました!!
SpeedswitchXPというツールがそれです。 ドイツ製なのですが英語モードもあり非常に分かりやすい。 参考になったサイトはこちらです。 日本語化パッチも存在していてX-WORKS.orgさんのサイトからダウンロードできます。
SpeedswitchXPをダウンロードし、インストールして起動すると右下のクイックスタートメニューに常駐します。 ここでアイコンを右クリックすると4つのモードを選ぶことができます。
日本語訳にすると、上から「最高パフォーマンス」「バッテリー最適化」「最高のバッテリー」「ダイナミック切り替え」です。
「Battery optimized」と「Max. Battery」の違いがこれだけではよく分かりませんが、マニュアルを読むと、それぞれ「最小限のCPUスピードを保持します(例:Pentium-M 1.6GHzであれば継続的に600MHzで動作します)」「最小限のCPUスピードを保持しつつも、残りのバッテリー容量から換算してさらにスピードを絞り込みます」と書いてありました。
バッテリーを持たせつつ、一定の負荷のある作業をしないといけない場合は「Battery optimized」を、とにかくバッテリーの維持が最優先の場合は「Max. Battery」を選ぶと良いでしょう。 ただ今回はAC電源での利用なので、この2つは関係なさそうです。
今回のようにCPUクロックを最大で固定したい場合は「Max. Performance」を選択します。 なんという手軽さ。。 設定した瞬間、最高クロックの1.06GHzにまでアップしてくれました。 この数字を何度夢見たことか。。
注意点としては、最高クロックの状態だと当然ですがバッテリーの消耗も早いので、外などでバッテリー使用の場合はこの設定を元に戻しておくと良いでしょう。
2009-10-11