GNU/Linux >> Linux Esercitazione >  >> Linux

Linux in genere registra i dati sulla temperatura del sistema?

Non sono a conoscenza di una distribuzione Linux mainstream che registra questo tipo di informazioni per impostazione predefinita. La maggior parte delle distribuzioni Linux mainstream include vari pacchetti che possono registrare le temperature e alcuni di questi pacchetti sono impostati per registrare per impostazione predefinita.

Prendendo Debian come esempio, sensord registrerà periodicamente tutte le informazioni di cui è a conoscenza (temperature di sistema, voltaggi ecc.) nel registro di sistema, ma deve essere configurato manualmente prima di poter registrare qualsiasi cosa utile; hddtemp può essere impostato per registrare periodicamente le temperature del disco rigido. Molti altri strumenti possono recuperare questo tipo di informazioni (utilizzando IPMI, SNMP, ecc.) ma ancora una volta nella maggior parte dei casi devono essere configurati, sia per poter accedere alle informazioni in primo luogo, sia per poterle interpretare, o entrambi.

Questo requisito di configurazione significa che sarebbe difficile impostare una distribuzione generica che registri le temperature per impostazione predefinita in modo significativo. (La maggior parte dei sistemi che ho visto ha almeno una voce di monitoraggio non valida che farebbe scattare gli allarmi se fosse configurata automaticamente!) Ovviamente è del tutto possibile impostare un'immagine di installazione per i tuoi sistemi poiché sai cosa come sono e come sono configurati... Una volta configurati i vari strumenti necessari per estrarre le informazioni sulla temperatura, faresti meglio a utilizzare uno strumento di monitoraggio adeguato (come Munin) per registrare le temperature invece di affidarti al log di sistema. In questo modo puoi anche impostare avvisi per essere avvisato quando le cose iniziano ad andare male.

Espansione sul sensord ad esempio, puoi trovare il suo output nel registro di sistema, con sensord come nome del processo; quindi cerca sensord in /var/log/syslog (per impostazione predefinita) o eseguire journalctl -u sensord . Vedrai log periodici come il seguente (ho rimosso la data e il nome 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)

Per ottenere questo ho dovuto determinare quali moduli erano necessari (usando sensors-detect ):per impostazione predefinita il sistema conosceva solo le temperature riportate dall'ACPI, che in realtà non corrispondono a nulla (non variano mai). coretemp fornisce le temperature core della CPU sui processori Intel, nct6776 è il monitor hardware della scheda madre e jc42 è il monitor della temperatura sui DIMM. Per renderlo utile per il monitoraggio automatico, dovrei almeno disabilitare i valori ACPI e rietichettare le ventole e correggere fan4 il valore minimo di . Ci sono molte altre possibilità di configurazione, lm_sensors ' il file di configurazione di esempio dà un'idea.


Alcuni dischi rigidi conservano automaticamente una cronologia della temperatura recente. Da man smartctl :

scttemp, scttempsts, scttemphist - [solo ATA] stampa le informazioni sulla temperatura del disco fornite dai comandi SMART Command Transport (SCT). L'opzione ´scttempsts´ stampa la temperatura corrente e gli intervalli di temperatura restituiti dal comando SCT Status, ´scttempst´ stampa i limiti di temperatura e la tabella cronologica della temperatura restituita dal comando SCT Data Table, e ´scttemp´ stampa entrambi. I valori di temperatura vengono mantenuti durante i cicli di accensione. L'intervallo di registrazione può essere configurato con l'opzione ´-l scttempint,N[,p]´, vedi sotto. I comandi SCT sono stati introdotti in ATA8-ACS e sono stati supportati anche da molti dischi ATA-7.

Un comando come smartctl -data -l scttemphist /dev/sda ti darà una cronologia della temperatura se l'unità lo supporta. Ad esempio:

Index    Estimated Time   Temperature Celsius
 103    2017-06-27 11:10    31  ************
 ...    ..( 24 skipped).    ..  ************
   0    2017-06-27 15:20    31  ************
   1    2017-06-27 15:30    30  ***********
 ...    ..(  9 skipped).    ..  ***********
  11    2017-06-27 17:10    30  ***********
  12    2017-06-27 17:20    31  ************
  13    2017-06-27 17:30    30  ***********
 ...    ..( 51 skipped).    ..  ***********
  65    2017-06-28 02:10    30  ***********
  66    2017-06-28 02:20    31  ************
  67    2017-06-28 02:30    32  *************
  68    2017-06-28 02:40    31  ************
  69    2017-06-28 02:50    30  ***********
  70    2017-06-28 03:00    31  ************
  71    2017-06-28 03:10    30  ***********
  72    2017-06-28 03:20    30  ***********
  73    2017-06-28 03:30    31  ************
  74    2017-06-28 03:40    30  ***********
  75    2017-06-28 03:50    31  ************
  76    2017-06-28 04:00    31  ************
  77    2017-06-28 04:10    30  ***********
 ...    ..( 22 skipped).    ..  ***********
 100    2017-06-28 08:00    30  ***********
 101    2017-06-28 08:10    31  ************
 102    2017-06-28 08:20    30  ***********

A parte questo, dovrai configurare/installare uno strumento (vedi la risposta di Stephen Kitt).


Linux
  1. In che modo l'amministratore Linux protegge i dati

  2. Linux:perché Linux consente "init=/bin/bash"?

  3. Il problema della mandria tonante esiste più su Linux?

  4. Quanti dati utilizza in genere SSH?

  5. In che modo Linux utilizza un orologio in tempo reale?

Come controllare i registri di sistema su Linux [Guida all'uso completa]

Linux è un sistema operativo o un kernel?

Come aggiungere manualmente messaggi ai file di registro del sistema Linux

Come recuperare i dati cancellati su un sistema Linux

Documentare il tempo di attività del sistema in Linux

15 migliori gestori di compressione o archivio per il sistema Linux