PC のマザーボードの温度 (およびその他のハードウェア統計) を取得するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/123575

質問

現在のマザーボード、プロセッサー、または HD の温度統計を取得する方法を知っている人はいますか?
GNU/Linux では、hddtemp や sensord などを使用して情報を取得し、それを解析できることはわかっています...ただし Windows の場合:これどうやってするの?そして、それは C# や Java などの高級プログラミング言語で実行できますか?
ありがとう!

役に立ちましたか?

解決

温度やその他の監視センサーの問題は、ハードウェア レベルで共通のプロトコルがなく、共通 API で情報を取得できるドライバーがないことです。

すでに述べた SpeedFan などのソフトウェア ハードウェアモニター (CPU-Z ユーティリティのメーカーによる) さまざまなセンサーとバス コントローラーを入念にカタログ化し、対応するプロトコルを実装することで機能します。通常は SMBus デバイスにアクセスするためにカーネル モード ドライバーを使用します。

この機能を独自のソフトウェアに組み込むには、この機能を自分で開発するか (特定のハードウェアに合わせて調整し、www.lm-sensors.org の Linux コードを参照として使用することで作業量を削減できる可能性があります)、または商用ライブラリを購入することができます。それを実装するものです。1 つは HWMonitor によって使用されます。 ここ.

幸運を

他のヒント

適切な構成が整えられていれば、Windows の構成よりも優れている可能性があると私は主張します。

http://www.lm-sensors.org/ それがすべての仕事をするものです。私はそれを RRDgraph と Munin に接続し、ほぼ 1 年間にわたって部屋の温度を監視しており、素晴らしいきれいなグラフが得られました。また、CPU ファンがゆっくりと磨耗していることも見せていただき、ラインが長期間にわたって傾斜しているのがわかり、故障が近づいていることがわかりました。

http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/developers/applications あなたが望むものです。

(ああ、待ってください、失敗しました。*nix では Windows 上でそれを実行したいと考えています。悪い:( ..um..良い。幸運を。逆の検索中に誰かがあなたの投稿を見つけた場合に備えて、ここにこれを残しておくかもしれません)

Windows を使用していた頃、覚えているのは Ye' Old だけです マザーボードモニター (生産終了). 。Wikiの記事にはあると書いてある スピードファン それが最善の選択肢のように思えます。プログラム的には、ハードウェアの仕様を見つけて、Windows API と任意のバス アドレス オフセットのスタックロードを調べる必要があると思います。

AndrewJFord が示唆しているように、これらの方法はベンダーごとに、実際には部品ごとに異なりますが、それでも問題ない場合は、いくつかの一般化を行います。

  1. 私の知る限り、Intel、AMD、IBM の現在の主流プロセッサには、このデータを読み取るための既知の公開 API を備えたオンボード熱センサーが搭載されています。私はこれらの API の専門家ではないので、どの程度似ているかはわかりませんが、Intel と AMD の API がそれほど異なっているとしたら驚くでしょう。私だったら、オープンソースの「システム管理ツール」(ちなみに、Apple Widgets として書かれた同様のものがいくつかあります)を検索し、それがどのように機能するかを確認するでしょう。
  2. マザーボードは非常に多様で、広範な温度センサーを備えているものもあれば、まったく備えていないものもあり、すべてがかなり異なる API を備えています。まず、あなたが選んだマザボを製造している会社のサポート担当者に連絡します。
  3. 一般に、熱センサーが組み込まれているのは非常にハイエンドの 15krpm SAS ディスクだけだと思います。一部のミッドレンジ システムでは、ハブのケースにセンサーがテープで貼り付けられており、それをマザボに報告していることは知っています。この情報をどうやって入手するかは本当にわかりませんが、もう一度上記の質問と同じ人々と話すことから始めたいと思います。

現在、私は HP の大ユーザーであり、すべてのキットには「Insight Management Agents」と呼ばれるものが組み込まれており、Windows およびほとんどの Linux で利用できるバージョンがあります。彼らが行うことは、すべてのセンサー (プロセッサ、メモリ、マザボ、ファン、ディスクなど) からすべてのシステム情報を収集し、それを SNMP ベースのポーリング API またはアラートベースの SNMP/SMTP/MAPI インターフェイス経由で公開することです。敢えて言えば、IBM/Dell なども同様に優れた機能的に類似した独自のバージョンを持っているでしょうが、申し訳ありませんが、私は知りません。あなたのマシンが「社外品」/キットから作られたものである場合、またはあなたが制御できない場合、これらすべての情報を簡単に取得する単一の方法を私は知りません。

これが少しでもお役に立てば幸いです。

フィル。

これはハードウェアによってかなり異なります。マザーボードにセンサーがあるかどうかをハードウェアベンダーから把握したら、SNMPとホストリソースMIBの使用を検討する場合があります。

[管理および監視ツール] の [Windows コンポーネントの追加と削除] ウィザードを使用して、SNMP をインストールします。そうすれば、OpenView や Nagios などの標準システム管理ソフトウェアを使用して、Windows ボックスに多くの情報を要求できるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top