Tenho dois módulos de RAM (DDR5. Um tem 8 GB e o outro 16). No Linux, suas temperaturas são as seguintes, em alguma tarefa ocupada:
spd5118-i2c-1-51
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1: +46.0°C (low = +0.0°C, high = +55.0°C)
(crit low = +0.0°C, crit = +85.0°C)
spd5118-i2c-1-50
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1: +57.0°C (low = +0.0°C, high = +55.0°C) ALARM (HIGH)
(crit low = +0.0°C, crit = +85.0°C)
Pergunta 1: Um é 46°C e o outro 57°C. Essa diferença é normal?
Pergunta 2: Essa informação parece vir do spd 5118. (Não sei o que é.) No Linux, quando um excede o limite "alto" de 55°C, é impresso como "ALARME", mas IIUC < 70°C geralmente está ok, certo? Se sim, o limite de 55°C é muito baixo sem muito motivo?
Neste contexto, o
spd5118
módulo do kernel Linux é o driver para os sensores de temperatura e SPD EEPROMs dos módulos de memória DDR5. O nome vem da especificação JEDEC para o chip de metadados relevante nos módulos de memória DDR5.Com DDR4, você tinha que usar dois módulos separados para o mesmo propósito:
ee1004
para acessar informações SPD ejc42
para sensores de temperatura DIMM. DDR3 e mais antigos tinham que usar o módulo mais antigoeeprom
ou mais novoat24
para acesso a informações SPD, e módulos de memória DDR3 não tinham uma especificação padrão para sensores de temperatura.(O acesso às informações do SPD permite que você execute
sudo decode-dimms
para visualizar as especificações técnicas da sua memória.)Como seus módulos de RAM são de tamanhos diferentes, eles devem ser modelos diferentes, e então seria esperado que eles tivessem comportamentos térmicos diferentes. Isso também significa que pelo menos um terço da sua memória não está funcionando no modo dual-channel, e no pior dos casos, nada disso está; então é inteiramente possível que a memória para a tarefa ocupada tenha sido alocada do intervalo que mapeia somente para o DIMM mais quente, e então ela está mais ocupada enquanto a outra está mais ociosa.
Se desejar, você pode ajustar os intervalos de alarme criando um arquivo de configuração, por exemplo
/etc/sensors.d/memory-temp.conf
, com conteúdo como o seguinte:Observe que você também pode atribuir rótulos individuais para as leituras de temperatura.
Após criar o arquivo, execute
sudo sensors --set
para que os novos limites entrem em vigor.O barramento I2C é relativamente lento, então talvez seja necessário esperar alguns segundos para que os alarmes sejam apagados após aumentar o limite de temperatura alta.
Eu diria que uma temperatura de 57 graus C em um módulo de memória em um sistema ocupado não é inesperadamente alta; no entanto, como o outro módulo de memória é muito mais frio, eu gostaria de verificar se o mais quente tem algo bloqueando a circulação de ar ou se tem algo estúpido como um invólucro de plástico (= isolante de calor) para fins estéticos, em vez de um dissipador de calor metálico realmente funcional.