Pergunta

Alguém sabe como obter as estatísticas atuais da placa -mãe, processador ou temperatura em HD?
No GNU/Linux, eu sei que poderia usar algo como hddtemp ou sensord para obter as informações e depois analisá -las ... mas no Windows: como posso fazer isso? E isso pode ser feito com C# ou Java ou qualquer outra linguagem de programação em nível Hight?
Obrigado!

Foi útil?

Solução

O problema com a temperatura e outros sensores de monitoramento é que não existe um protocolo comum no nível do hardware, nem os drivers permitindo recuperar essas informações com API comum.

Software como já mencionado Speedfan e Hwmonitor (dos fabricantes da utilitário CPU-Z) Trabalho catalogando meticulosamente os vários sensores e controladores de barramento e implementando protocolos correspondentes, geralmente usando o driver do modo de kernel para acessar dispositivos de SMBUs.

Para incorporar essa funcionalidade em seu próprio software, você pode desenvolver essa funcionalidade (possivelmente reduzindo a quantidade de trabalho, adaptando-a ao seu hardware específico e usando o código Linux de www.lm-sensors.org como referência) ou compra de biblioteca comercial isso implementa. Um, usado pelo Hwmonitor, está disponível aqui.

boa sorte

Outras dicas

Eu argumentaria que, quando as configurações certas estiverem em vigor, pode ser superior ao de Windows.

http://www.lm-sensors.org/ é o que faz todo o trabalho. Eu estava conectado ao RRDGraph & Munin e estava monitorando a temperatura do meu quarto por um período de quase um ano e tinha belos gráficos bonitos. Também me mostrou que meu fã da CPU estava desgastado lentamente, e eu pude ver a linha inclinada por um longo período e sabia que estava saindo.

http://www.lm-sensors.org/browsser/lm-sensors/trunk/doc/developers/applications é o que você quer.

(Ah, espere, eu falhei. Você está no *nix querendo fazer isso no Windows. Meu mal :( ..UM .. bem. Boa sorte. Talvez eu deixe isso aqui, caso alguém encontre sua postagem enquanto procura o contrário )

Quando eu usei o Windows, tudo o que me lembro é 'velho Monitor da placa -mãe (descontinuada). O artigo da wiki diz que existe Speedfan E isso se parece com a sua melhor opção. Programaticamente, acho que você terá que encontrar as especificações de hardware e cavar a API do Windows e Stackloads de compensações de endereço de barramento arbitrárias.

Como Andrewjford sugere que esses métodos variam de fornecedor para fornecedor, de fato de parte para parte, mas farei algumas generalizações se estiver tudo bem.

  1. Até onde eu conheço todos os processadores mainstream atuais da Intel, a AMD e a IBM têm sensores térmicos a bordo com APIs expostas conhecidas para ler esses dados. Não sou especialista nessas APIs, então não sei como elas são semelhantes, mas ficaria surpreso se a API da Intel e AMDS for muito diferente. Se eu fosse você, procuraria uma 'ferramenta de gerenciamento de sistemas' de código aberto (a propósito, existem alguns como este escrito como widgets da Apple) e verá como eles fazem isso.
  2. As placas -mãe variam muito, algumas têm uma extensa senestros térmicos, outros e todos terão APIs bastante diferentes. Começaria entrando em contato com as pessoas de apoio na empresa que faz seu MOBO de escolha.
  3. Em geral, acredito que apenas os discos SAS de 15krpm muito sofisticados possuem sensores térmicos embutidos, sei que alguns sistemas de médio alcance têm sensores presos no seu caso no hub e relatam isso de volta ao MOBO. Realmente não tenho certeza de como chegar a essas informações, mas novamente começaria conversando com as mesmas pessoas que a pergunta acima.

Agora sou um grande usuário da HP e todo o seu kit é instrumentado por algo chamado 'Insight Management Agents', dos quais existem versões disponíveis para o Windows e a maioria dos Linux. O que eles fazem é coletar todas as informações do sistema de todos os seus sensores (proc, memória, mobo, fãs, discos etc.) e expor isso por meio de uma API de pesquisa baseada em SNMP ou por meio de uma interface SNMP/SMTP/MAPI baseada em alerta. Ouso dizer que o IBM/Dell etc terá suas próprias versões igualmente boas e funcionalmente semelhantes, mas não as conheço, desculpe. Se suas máquinas forem 'fora da marca'/Made-do-kit ou você não tiver controle, não conheço nenhum método único de obter todas essas informações facilmente.

Eu espero que isso tenha sido de alguma ajuda.

Phil.

Isso vai variar um pouco, dependendo do seu hardware. Depois de descobrir do seu fornecedor de hardware, se você tem sensores na placa-mãe, pode usar o SNMP e o MIB do RESOURCE HOST.

Use o assistente Adicionar/remover componentes do Windows em ferramentas de gerenciamento e monitoramento para instalar o SNMP. Em seguida, você poderá solicitar muitas informações à sua caixa do Windows usando software de gerenciamento de sistemas padrão, como o OpenView ou Nagios.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top