2015年8月4日火曜日

Lenovo Thinkpad T400が熱暴走して落ちまくる件

自宅では2008年ごろに購入したThinkpad T400のノートPCをメインPCとして使っている。当時は結構高いスペックのものを選んだので、その分費用も結構したと記憶している。

既に7年が経過し、今となってはコアも2つしかない貧弱マシンではあるが、HDDのI/Oの遅さ以外はまあまあ我慢できるレベルなので、壊れるまで使いたいと考えている(HDDのI/Oが遅い問題は、別途SSDに換装して概ね解決した)

しかし、使い続けようとした矢先、問題が起きた。

問題とは

SSDに交換するということで、OSもクリーンインストールすることにした。Windows 7 Professionalのインストールは問題なくうまくいったのだが、その後のWindows Updateが始まると、CPUが触れないくらい発熱し、ついには電源がブチッと切れるようになってしまった。そのせいで、Windows Updateが中途半端なところで終了し、イベントログにエラーが出るようになったり、そもそもWindows Updateが動作しなくなったりと散々であった。

ありがたいことにクリーンインストール直後だったので、システム復元を有効にしていたこともあって、電源が落ちる度に復元して復旧させることができたが、かれこれ10回はシステム復旧を行っていた。

「TPFanControl」でFanの回転数を上げる

この発熱の原因は、CPU温度が上昇してもFanが回転していないのではないかと考えた。昔からあるSpeedFanというソフトで温度を測るとCPU温度は80度を超えていて、非常に高温であることはわかったのだが、残念ながらSpeedFanではFanを検出できず測定できなかった。

別のソフトを探したところ、Thinkpad用のFanコントロールツールを見つけることができた。

TPFanControl by troubadix
http://www.staff.uni-marburg.de/~schmitzr/donate.html

ここで「download: latest common version of TPFanControl for Windows 8 / 7 / Vista / XP, 32/64bit, Celsius/Fahrenheit, service/non_service」のリンクからダウンロードする。私がダウンロードした際はVer.0.62だった。

このソフトをインストールすると、「C:\Program Files\TPFanControl」にファイルが置かれる。その中に「TPFanControl.ini」という設定ファイルがあって、これは直接メモ帳などで編集して使うことを想定しているらしい。

最低限気にするのは以下箇所だけで問題ない。温度とFan回転数は好みでチューニングする必要あり。

-------------------------
StartMinimized=1 // 0を1にする。起動時にタスクトレイに入れる設定

Level=60 0         // 60℃であれば回転数0にする
Level=65 1         // 65℃であれば回転数1にする
Level=70 3         // 70℃であれば回転数3にする
Level=75 7         // 75℃であれば回転数7にする
Level=80 64       // 80℃であれば回転数64にする
-------------------------

なお、回転数128という記述もデフォルトのiniファイルには存在するが、Thinkpad T400では128を設定すると逆にFan回転数が落ちてしまった。どうやらT400はある程度CPU温度が高くなりすぎてしまうとFan回転数が落ちるという仕様(なのか不具合なのかわからないが)のようだ。

そのため、高い温度でずっと稼動しても温度が下がらないので、熱暴走で落ちる原因になっている。ありがたいことに「TPFanControl」を起動させておけば、高い回転数を維持できるので、熱暴走を防ぐことはできた。

物理的な掃除

そもそも昔はこんなに熱くなかったはずなので、エアダスターを使ってFan周りのほこりを吹き払ってみた。結果、CPU温度は10~20℃も低下し、CPUの使用率が上がっても、温度上昇がゆるやかになり、冷えやすくもなった。

結局、Fanの汚れが熱暴走の直接的原因だった。ほこりを少し吹き払った程度ではそんなに変化はないだろうと当初は思っていたが、考えを改める必要があると感じた。