だんだんと暑い季節になってきて、Core2ではない Pentium 4 Dにとっては、辛い季節になってきました。室温が上がると、調子が悪くなるので、まじめに深刻な問題です。そこで、先日ケースにファンを増設したら、だいぶ効果があるようで、35度ぐらいでおちついていますが、CPUの温度のモニタリングしたいと思って、ちょっと調べてみました。
WMI の “Win32_TemperatureProbe” が一番まともな方法のようだが、現在のPC “ASUS P5LD2-V”, eee PC 1000 HE では、このインターフェースがサポートされていない模様。
いろいろ調べてみると、MSAcpi_ThermalZoneTemperature を使った記事がいくつかある
が、そもそもそんな I/F の情報は MSDNに載っていない。もう使われていないということか?
さらに調べてみると、
http://kariunten.homeip.net/programming/winring0.html
にマザーボードのコントローラを直接操作する方法が載っていた。そうきますか~~~w。
と思って、そのコードを見てみると、
で、Windowsからハードウェア(I/O port, MSR, PCI bus, and etc…)へのアクセスを可能とする WinRing0 が提供されているコードを利用している。
さらに、そこから
http://www.techpowerup.com/realtemp/
で、all Intel single Core, Dual Core, Quad Core and Core i7、さらにはNvidia のGPUの温度まで取得できるプロジェクトを発見。
試してみたが、Pentium 4 Dは、サポートされていない;;
eee PC 1000 HE の Atom N280だと? 1℃ ! すばらしい CPUだ w
ASUS からProbe II というモニターツールがあるから問題ないんだけどね。
温度、ファン回転数ぐらい WMI でちゃんと取れるようにしてよね。>> MS
それより、せめてCore2にしろよという突っ込みは却下。
僕は CoreTemp を使っています。CoreTemp:http://www.alcpu.com/CoreTemp/CoreTemp と連携して、各コアの温度や負荷を表示する Vista サイドバーガジェットもあります。
宇宙仮面さんなのでそのままサンプルコードまでいっていただかないとw私はこのOpenLibSysを使ったサイドバーガジェットで温度監視してます。http://blog.orbmu2k.de/sidebar-gadgets/windows-sidebar-gadget-goes-ring-0なんせ一時期ノートのCPUが温度が高すぎ(70℃ほど)てクロック落ちてくるというような状況になったので。。。今は徹底的にほこりをブローして吸気周りの環境を改善したら50℃代に回復しました。