Eu não estou ciente de uma distribuição Linux mainstream que registra esse tipo de informação por padrão. A maioria das distribuições principais do Linux inclui vários pacotes que podem registrar temperaturas, e alguns desses pacotes são configurados para serem registrados por padrão.
Usando o Debian como um exemplo, sensord
registrará periodicamente todas as informações que ele conhece (temperaturas do sistema, voltagens, etc.) no log do sistema, mas precisa ser configurado manualmente antes de registrar qualquer coisa útil; hddtemp
pode ser configurado para registrar periodicamente as temperaturas do disco rígido. Muitas outras ferramentas podem recuperar esse tipo de informação (usando IPMI, SNMP, etc.), mas na maioria dos casos elas precisam ser configuradas, seja para poder acessar as informações em primeiro lugar, ou para poder interpretá-las, ou ambos.
Este requisito de configuração significa que seria difícil configurar uma distribuição genérica que registre as temperaturas por padrão de uma maneira significativa. (A maioria dos sistemas que eu vi tem pelo menos uma entrada de monitoração inválida que dispararia alarmes se fosse configurada automaticamente!) É claro que é perfeitamente possível configurar uma imagem de instalação para seus próprios sistemas, já que você sabe o que eles são e como eles são configurados ... Depois de configurar as várias ferramentas necessárias para extrair informações de temperatura, seria melhor usar uma ferramenta de monitoramento adequada (como Munin ) para registrar as temperaturas em vez de confiar nos registros do sistema. Dessa forma, você também pode configurar alertas para ser notificado quando as coisas começarem a dar errado.
Expandindo o exemplo sensord
, você pode encontrar sua saída no log do sistema, com sensord
como o nome do processo; então, procure por sensord
em /var/log/syslog
(por padrão) ou execute journalctl -u sensord
. Você verá logs periódicos como os seguintes (removi a data e o nome do host):
sensord[2489]: Chip: acpitz-virtual-0
sensord[2489]: Adapter: Virtual device
sensord[2489]: temp1: 27.8 C
sensord[2489]: temp2: 29.8 C
sensord[2489]: Chip: coretemp-isa-0000
sensord[2489]: Adapter: ISA adapter
sensord[2489]: Physical id 0: 33.0 C
sensord[2489]: Core 0: 29.0 C
sensord[2489]: Core 1: 30.0 C
sensord[2489]: Core 2: 26.0 C
sensord[2489]: Core 3: 29.0 C
sensord[2489]: Chip: nct6776-isa-0a30
sensord[2489]: Adapter: ISA adapter
sensord[2489]: in0: +1.80 V (min = +1.60 V, max = +2.00 V)
sensord[2489]: in1: +1.86 V (min = +1.55 V, max = +2.02 V)
sensord[2489]: in2: +3.41 V (min = +2.90 V, max = +3.66 V)
sensord[2489]: in3: +3.39 V (min = +2.83 V, max = +3.66 V)
sensord[2489]: in4: +1.50 V (min = +1.12 V, max = +1.72 V)
sensord[2489]: in5: +1.26 V (min = +1.07 V, max = +1.39 V)
sensord[2489]: in6: +1.04 V (min = +0.80 V, max = +1.20 V)
sensord[2489]: in7: +3.31 V (min = +2.90 V, max = +3.66 V)
sensord[2489]: in8: +3.22 V (min = +2.50 V, max = +3.60 V)
sensord[2489]: fan1: 1251 RPM (min = 200 RPM)
sensord[2489]: fan2: 0 RPM (min = 0 RPM)
sensord[2489]: fan3: 299 RPM (min = 200 RPM)
sensord[2489]: fan4: 1315 RPM (min = 0 RPM)
sensord[2489]: fan5: 628 RPM (min = 200 RPM)
sensord[2489]: SYSTIN: 32.0 C (limit = 80.0 C, hysteresis = 70.0 C)
sensord[2489]: CPUTIN: 33.0 C (limit = 85.0 C, hysteresis = 80.0 C)
sensord[2489]: AUXTIN: 24.0 C (limit = 80.0 C, hysteresis = 75.0 C)
sensord[2489]: PECI Agent 0: 31.0 C (limit = 95.0 C, hysteresis = 92.0 C)
sensord[2489]: PCH_CHIP_CPU_MAX_TEMP: 57.0 C (limit = 95.0 C, hysteresis = 90.0 C)
sensord[2489]: PCH_CHIP_TEMP: 0.0 C
sensord[2489]: PCH_CPU_TEMP: 0.0 C
sensord[2489]: beep_enable: Sound alarm enabled
sensord[2489]: Chip: jc42-i2c-9-18
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 32.8 C (min = 0.0 C, max = 60.0 C)
sensord[2489]: Chip: jc42-i2c-9-19
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 33.5 C (min = 0.0 C, max = 60.0 C)
sensord[2489]: Chip: jc42-i2c-9-1a
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 34.0 C (min = 0.0 C, max = 60.0 C)
sensord[2489]: Chip: jc42-i2c-9-1b
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 33.2 C (min = 0.0 C, max = 60.0 C)
Para conseguir isso, eu tive que determinar quais módulos eram necessários (usando sensors-detect
): por padrão, o sistema só sabia sobre as temperaturas reportadas na ACPI, que na verdade não correspondem a nada (elas nunca variam). coretemp
fornece as temperaturas do núcleo da CPU nos processadores Intel, nct6776
é o monitor de hardware da placa-mãe e jc42
é o monitor de temperatura nos DIMMs. Para torná-lo útil para monitoramento automatizado, eu deveria pelo menos desabilitar os valores da ACPI e rotular novamente os ventiladores e corrigir o valor mínimo de fan4
. Existem muitas outras possibilidades de configuração, lm_sensors
' exemplo de arquivo de configuração dá uma ideia.