lm_sensors (Português)
lm_sensors (Linux monitoring sensors) é um aplicativo livre e de código aberto que fornece ferramentas e drivers para monitorar temperaturas, tensão e ventiladores. Este documento explica como instalar, configurar e usar o lm_sensors.
Instalação
Instale o pacote lm_sensors.
Configuração
Use sensors-detect como root para detectar e gere uma lista de módulos de kernel:
Enter
), a menos que você saiba exatamente o que você está fazendo. Veja #Problemas na tela do laptop após a execução de sensors-detect.# sensors-detect
Ele pedirá para sondar vários hardwares. As respostas "seguras" são os padrões, então apenas pressionar Enter
para todas as perguntas geralmente não causará nenhum problema. Isso criará o arquivo de configuração /etc/conf.d/lm_sensors
que é usado por para carregar automaticamente os módulos do kernel na inicialização.
Quando a detecção é concluída, um resumo das sondas é apresentado.
Exemplo:
Execução de sensors
Exemplo de execução do :
$ sensors
coretemp-isa-0000 Adapter: ISA adapter Core 0: +35.0°C (crit = +105.0°C) Core 1: +32.0°C (crit = +105.0°C) w83l771-i2c-0-4c Adapter: SMBus nForce2 adapter at 4d00 temp1: +28.0°C (low = -40.0°C, high = +70.0°C) (crit = +85.0°C, hyst = +75.0°C) temp2: +37.4°C (low = -40.0°C, high = +70.0°C) (crit = +110.0°C, hyst = +100.0°C)
Lendo valores SPD de módulos de memória (opcional)
Para ler os valores de tempo de SPD de módulos de memória, instale o pacote i2c-tools. Uma vez instalado, carregue módulo de kernel .
# modprobe eeprom
Finalmente, veja informações de memória com .
Aqui está uma saída parcial de uma máquina:
Usando dados de sensores
Front-ends gráficos
Há uma variedade de front-ends para dados de sensores.
Para Ambientes de desktop específicos:
- Sensors (Plugin do painel do Xfce4) — Plugin de sensores de hardware para o painel do Xfce.
sensord
Existe um daemon opcional chamado sensord (incluído no pacote lm_sensors) que pode registrar dados em um banco de dados round robin (rrd) e depois visualizar graficamente. Veja a página man para detalhes.
Dicas e truques
Ajustando valores
Em alguns casos, os dados exibidos podem estar incorretos ou os usuários podem desejar renomear a saída. Casos de uso incluem:
- Valores incorretos de temperatura devido a um deslocamento incorreto (isto é, os tempos são relatados 20°C mais altos do que os reais).
- Usuários desejam renomear a saída de alguns sensores.
- Os cores podem ser exibidos em uma ordem incorreta.
Todos os itens acima (e mais) podem ser ajustados sobrepondo as configurações do pacote em criando em que qualquer número de os ajustes substituirão os valores padrão. Recomenda-se renomear 'foo' para a marca e modelo da placa-mãe, mas esta nomenclatura de nomenclatura é opcional.
Exemplo 1. Ajustante posições de temperatura
Este é um exemplo real de uma placa-mãe Zotac ION-ITX-A-U. Os valores de coretemp estão desativados em 20°C (muito alto) e são ajustados de acordo com as especificações da Intel.
Execute com a opção para ver quais opções estão disponíveis para cada chip físico (modo "raw"):
$ sensors -u
coretemp-isa-0000 Adapter: ISA adapter Core 0: temp2_input: 57.000 temp2_crit: 125.000 temp2_crit_alarm: 0.000 Core 1: temp3_input: 55.000 temp3_crit: 125.000 temp3_crit_alarm: 0.000 ...
Crie o seguinte arquivo substituindo os valores padrão:
Agora, chamar mostra os valores ajustados:
Exemplo 2. Renomeando rótulos
Este é um exemplo real em um Asus A7M266. O usuário deseja nomes mais detalhados para os rótulos de temperatura temp1
e :
Crie o seguinte arquivo para substituir os valores padrão:
Agora, chamar mostra os valores ajustados:
Exemplo 3. Renumerando núcleos para sistemas com várias CPUs
Este é um exemplo real de uma estação de trabalho HP Z600 com Xeons duplos. A numeração real dos núcleos físicos está incorreta: numerada 0, 1, 9, 10, que é repetida na segunda CPU. A maioria dos usuários espera que as temperaturas do núcleo relatem em ordem sequencial, ou seja, 0,1,2,3,4,5,6,7.
Agora, execute com a opção para ver quais opções estão disponíveis para cada chip físico:
Crie o seguinte arquivo substituindo os valores padrão:
/etc/sensors.d/HP_Z600
chip "coretemp-isa-0000" label temp2 "Core 0" label temp3 "Core 1" label temp11 "Core 2" label temp12 "Core 3" chip "coretemp-isa-0004" label temp2 "Core 4" label temp3 "Core 5" label temp11 "Core 6" label temp12 "Core 7"
Agora, chamar mostra os valores ajustados:
Implantação automática de lm_sensors
Os usuários que desejam implantar lm_sensors em várias máquinas podem usar o seguinte para aceitar os valores padrão para todas as perguntas:
# sensors-detect --auto
Solução de problemas
Módulo K10Temp
Alguns processadores K10 têm problemas com seu sensor de temperatura. Da documentação do kernel (linux-<version>/Documentation/hwmon/k10temp
):
- Todos esses processadores possuem um sensor, mas para o soquete F ou AM2+, o sensor pode retornar valores inconsistentes (errata 319). O driver se recusará a carregar nessas revisões, a menos que os usuários especifiquem o parâmetro do módulo .
- Devido a razões técnicas, o driver pode detectar apenas o tipo de soquete da placa-mãe, não os recursos reais do processador. Portanto, os usuários de um processador AM3 em uma placa-mãe AM2+ podem usar com segurança o parâmetro .
Em máquinas afetadas, o módulo relatará "unreliable CPU thermal sensor; monitoring disabled". Para forçar o monitoramento mesmo assim, você pode executar o seguinte:
# rmmod k10temp # modprobe k10temp force=1
Confirme se o sensor é de fato válido e confiável. Se estiver, pode editar e adicionar:
options k10temp force=1
Isso vai permitir o módulo para carregar na inicialização.
Placas-mãe Asus B450/X399/X470 com Ryzen CPU
Algumas placas-mãe recentes da Asus usam um chip ITE IT8665E, para acessar os sensores de temperatura, ventilador e tensão, pode ser necessário o módulo . Instale e carregue o módulo de kernel . O módulo usa a interface UEFI e pode exigir uma atualização do BIOS em algumas placas .
Como alternativa, o módulo lê os valores diretamente do chip, instale e carregue o módulo de kernel .
Placas-mãe Asus Z97/Z170/X570
Com algumas placas-mãe recentes da Asus, o acesso ao ventilador e ao sensor de tensão pode exigir que o módulo de kernel nct6775
esteja carregado.
Além disso, adicione-o aos parâmetros do kernel de inicialização:
acpi_enforce_resources=lax
Placas-mãe Gigabyte B250/Z370
Algumas placa-mãe da Gigabyte usam o chip ITE IT8686E, ao qual o driver it87 do kernel não dá suporte, até maio de 2019 . Porém, há suporte na versão do upstream do driver de kernel . A variante dkms está contida em .
Gigabyte GA-J1900N-D3V
Essa placa-mãe usa o chip ITE IT8620E (útil também para ler voltagens, temperatura da placa principal, velocidade do cooler). Até outubro de 2014, lm_sensors não tem suporte de driver para o chip ITE IT8620E . Os desenvolvedores do lm_sensors tinham um relatório de que o chip é um pouco compatível com o IT8728F para a parte de monitoramento de hardware. No entanto, a partir de agosto de 2016, lista o IT8620E como suportado.
Você pode carregar o módulo em tempo de execução com modprobe:
$ modprobe it87 force_id=0x8728
Ou você pode carregar os módulos durante o processo de inicialização criando os seguintes arquivos:
Quando o módulo estiver carregado, você pode usar a ferramenta sensores para testar o chip.
Você também pode usar fancontrol para controlar os "speedsteps" de do cooler do gabinete.
Problemas na tela do laptop após a execução de sensors-detect
Isso é causado por lm_sensors mexendo nos valores Vcom da tela enquanto sondam sensores. Já foi discutido e resolvido nos fóruns: https://bbs.archlinux.org/viewtopic.php?id=193048. No entanto, certifique-se de ler o tópico cuidadosamente antes de executar qualquer um dos comandos sugeridos.