Как узнать температуру материнской платы ПК (и другую аппаратную статистику)? - PullRequest
4 голосов
/ 24 сентября 2008

Кто-нибудь знает, как получить текущую статистику температуры материнской платы, процессора или HD?
В GNU / Linux я знаю, что могу использовать что-то вроде hddtemp или sensord для получения информации, а затем проанализировать ее ... но в Windows: как я могу это сделать? И можно ли это сделать с помощью C #, Java или любого другого языка программирования высокого уровня?
Спасибо!

Ответы [ 4 ]

2 голосов
/ 24 сентября 2008

Я бы сказал, что при наличии правильной конфигурации она может превосходить конфигурацию Windows.

http://www.lm -sensors.org / - это то, что делает всю работу. Я подключил это к RRDgraph & Munin, и я почти год наблюдал за температурой в моей комнате, и у меня были красивые симпатичные графики. Также показывал мне, что мой вентилятор процессора медленно изнашивается, и я мог видеть линию, спускающуюся вниз в течение длительного периода, и знать, что она выходила.

http://www.lm -sensors.org / browser / lm-sensor / trunk / doc / developers / application - это то, что вы хотите.

(о, подождите, я потерпел неудачу. Ваш пользователь * nix хочет сделать это в Windows. Мой плохой :( .. ну .. хорошо. Удачи. Возможно, я оставлю это здесь, если кто-то найдет ваше сообщение во время поиска наоборот)

Вернувшись, когда я использовал Windows, все, что я помню, это Ye 'Old Монитор материнской платы (снят с производства) . Статья в вики говорит, что есть speedfan , и это выглядит как ваш лучший вариант. Программно, я полагаю, вам нужно будет найти технические характеристики оборудования и разобраться с Windows API и загрузкой стека произвольных смещений адреса шины.

1 голос
/ 01 октября 2008

Проблема с датчиками температуры и других датчиков мониторинга заключается в том, что на аппаратном уровне нет общего протокола и драйверов, позволяющих получать эту информацию с помощью общего API.

Программное обеспечение, подобное уже упомянутым SpeedFan и HWMonitor (от создателей утилиты CPU-Z), работает путем тщательной каталогизации различных датчиков и контроллеров шины и реализации соответствующих протоколов, обычно используя драйвер режима ядра для доступа Устройства SMBus.

Чтобы встроить эту функцию в свое собственное программное обеспечение, вы можете либо разработать эту функцию самостоятельно (возможно, сократив объем работы, адаптировав ее к своему конкретному оборудованию и используя код Linux из www.lm-sensors.org в качестве ссылки), либо покупка коммерческой библиотеки, которая его реализует. Один, используемый HWMonitor, доступен здесь .

удачи

1 голос
/ 24 сентября 2008

Как предлагает AndrewJFord, эти методы варьируются от поставщика к поставщику, действительно от части к части, но я сделаю некоторые обобщения, если это нормально.

  1. Насколько мне известно, все текущие основные процессоры Intel, AMD и IBM имеют встроенные термодатчики с известными API-интерфейсами для чтения этих данных. Я не эксперт в этих API, поэтому не знаю, насколько они похожи, но я бы удивился, если бы Intel и AMD сильно отличались. На вашем месте я бы искал «инструмент управления системой» с открытым исходным кодом (кстати, есть несколько таких, написанных как Apple Widgets) и посмотрел бы, как они это делают.
  2. Материнские платы сильно отличаются друг от друга, некоторые имеют обширную термическую обработку, некоторые не имеют и все будут иметь довольно разные API. Я бы начал с того, что связался со специалистами службы поддержки в компании, которая делает ваш выбор по выбору.
  3. В целом, я полагаю, что только диски SAS очень высокого класса со скоростью 15krpm имеют встроенные термодатчики, я знаю, что в некоторых системах среднего уровня датчики прикреплены к корпусу в своем корпусе и сообщают об этом обратно в mobo. На самом деле не уверен, как получить эту информацию, но опять же, я бы начал говорить с теми же людьми, что и вопрос выше.

Теперь я большой пользователь HP, и весь их комплект оснащен инструментарием Insight Management Agents, версии которого доступны для Windows и большинства Linux. Они собирают всю системную информацию со всех своих датчиков (proc, память, mobo, вентиляторы, диски и т. Д.) И предоставляют ее через API опроса на основе SNMP или через интерфейс SNMP / SMTP / MAPI на основе предупреждений. Я осмелюсь сказать, что IBM / Dell и т.д. будут иметь свои одинаково хорошие и функционально похожие версии, но я не знаю их извините. Если ваши машины «нестандартные» / сделаны из комплекта или у вас нет контроля, то я не знаю ни одного способа получить всю эту информацию легко.

Надеюсь, это помогло.

Phil.

0 голосов
/ 24 сентября 2008

Это может сильно отличаться в зависимости от вашего оборудования. Как только вы выясните у своего поставщика оборудования, есть ли у вас датчики на материнской плате, вы можете посмотреть на использование SNMP и HOST-RESOURCE MIB.

Используйте мастер установки и удаления компонентов Windows в разделе «Инструменты управления и мониторинга», чтобы установить SNMP. Тогда вы сможете запросить у вашего Windows много информации с помощью стандартного программного обеспечения для управления системами, такого как OpenView или Nagios.

...