Languages

User login


Sensors de la placa, utilitat en Debian-Linux


imatge de eloi.rebes

Utilitzar els sensors de la nostra placa, en sistema Debian Linux
 
 Com tenir informació dels sensors de la placa,  voltatges, temperatures, velocitat dels ventiladors... Tota la informació que també trobem a la bios la podem tenir en consola amb el paquet "lm-sensors". 
 
 Alguna vegada la temperatura ambient és molt alta i patim per l'ordinador,  o el ventilador es para i ja no refreda la cpu. En aquest article també explica com afegir un script, i amb la ajuda del Cron tenir en determinats moments del dia una aturada al sistema.
 
 
 
  1.  Instal·lar el paquet, en consola o en Synaptec:
 
 # apt-get install lm-sensors

 
  2.  Buscar els sensors de la placa
 
 # sensors-detect 

  ens detectera els dispositius reconeguts disponibles, hem de dir si a tot, i guardarà els canvis a /etc/modules

 

  3. Reiniciar i provar el resultat

 # reboot

  després de reiniciar...

 # sensors

  ens donarà un resultat semblant a: 

w83627hf-isa-0290
Adapter: ISA adapter
VCore 1:   +1.74 V  (min =  +1.76 V, max =  +1.94 V)
VCore 2:   +1.25 V  (min =  +1.76 V, max =  +1.94 V)
+3.3V:     +3.22 V  (min =  +3.14 V, max =  +3.47 V)
+5V:       +4.87 V  (min =  +4.76 V, max =  +5.24 V)
+12V:     +12.71 V  (min = +10.82 V, max = +13.19 V)
-12V:     -12.77 V  (min = -13.18 V, max = -10.80 V)
-5V:       -5.55 V  (min =  -5.25 V, max =  -4.75 V)
V5SB:      +5.51 V  (min =  +4.76 V, max =  +5.24 V)
VBat:      +3.17 V  (min =  +2.40 V, max =  +3.60 V)
fan1:     4573 RPM  (min = 3199 RPM, div = 2)
fan2:        0 RPM  (min = 3040 RPM, div = 2)
fan3:        0 RPM  (min = 13500 RPM, div = 2)
M/B Temp:  +38.0°C  (high = -77.0°C, hyst = -84.0°C)
CPU Temp:  +30.5°C  (high = +72.0°C, hyst = +65.0°C)
temp1:       +25°C  (high =   +15°C, hyst =    -3°C)   sensor = thermistor 
temp2:     +32.5°C  (high =   +80°C, hyst =   +75°C)   sensor = thermistor 
temp3:     -46.0°C  (high =   +80°C, hyst =   +75°C)   sensor = thermistor 
vid:      +1.850 V
alarms:   Chassis intrusion detection
beep_enable: Sound alarm disabled

 

  4. Crear un script amb l'acció d'apagar el pc

 El següent script, fet per un sol cpu, analitza les dades del sensor i si sobrepassa els valors desitjats apaga el pc:

#!/bin/bash

# Proposta: Script per comprovar la temperatura de la CPU i avisar/apagar si supera el limit introduit
#
# AUTHOR: feedback[AT]HaveTheKnowHow[DOT]com
# modificat per eloi[DOT]rebes[AT]guifi[DOT]net

# Procedeix amb dos accions:
#    1. Avis de temperatura superada a la carpeta de registre /var/log
#    2. Apagada del sistema i enviament de correu electronic
#    ex. utilitzar ./CPUWarning.sh 30 40 
#     a 30 escriura avis al registre i a 40 apaga el sistema i envia email

# NOTES:
# Canvia el valor ">>/var/log" si es necessari
# Substitueix el valor "elmeucorreu@domini.com" i "/usr/sbin/sendmail elmeucorreu@domini.com" pel teu personal
# Si s'envia email, s'introdueix el missatge que es pot crear a l'arxiu /home/user/msgCPUalarm.txt 

echo "Proces fet a $(date)"
echo "========================================="

echo ''
echo 'Limit avis establert a => '$1
echo 'Apagada del sistema establert a => '$2
echo ''
echo ''

sensors

echo ''
echo ''

  str=$(sensors | grep "CPU Temp:")
  newstr=${str:14:2}
  if [ ${newstr} -ge $1 ]
   then
    echo '==========================================='              >>/var/log/CPUWarning.log
    echo $(date)                                                    >>/var/log/CPUWarning.log
    echo ''                                                         >>/var/log/CPUWarning.log
    echo ' ALERTA: EXCES TEMPERATURA CPU' $1 '=>' $newstr           >>/var/log/CPUWarning.log
    echo ''                                                         >>/var/log/CPUWarning.log
    echo '==========================================='              >>/var/log/CPUWarning.log
    echo '==========================================='
    echo $(date)
    echo ''
    echo ' ALERTA: EXCES TEMPERATURA CPU' $1 '=>' $newstr
    echo ''
    echo '==========================================='
  fi
  if [ ${newstr} -ge $2 ]
   then
    echo '==========================================='
    echo ''
    echo 'AVIS CRITIC: EXCES TEMPERATUR CPU' $2 '=>' $newstr
    echo ''
    echo 'ENVIANT EMAIL AVIS I APAGANT SISTEMA'
    echo ''
    echo '==========================================='
    /sbin/shutdown -h now
    /usr/sbin/sendmail elmeucorreu@domini.com </home/user/msgCPUalarm.txt
    echo 'Email Enviat.....'
  fi
  if [ ${newstr} -lt $1 ]
   then   
    echo ' Temperatura CPU es correcta a =>' $newstr
    echo ''
  fi




 ..al inici del script ja explica com executar indicant els valors, el primer dóna alarma i el segon apaga el pc.

 # bash /carpeta on l'script/CPUWarning.sh 40 50    

 a 40ºC donara alarma i a 50ºC apagarà el pc.

 He adjuntat aquest script en format .txt  ...recordar de renombrar-lo a .sh  o copiar tot l'script i enganxar-ho al editor de text.

També hi ha l'script versió per doble nucli cpu.

 

  5.  Crear al Cron una ordre freqüent

 Un cop tenim ja l'script comprobat de que funciona,  posem al Cron la ordre amb hores diverses durant el dia, més freqüents cap a les hores de sol.

 command:   bash /carpeta on l'script/CPUWarning.sh 40 50   > /dev/null

 

P.D.  ...és cert que serà així de ràpid si tenim les dependències necessàries i els nostres sensors son comuns i els reconeix al moment, sino haurem de buscar alternatives o mirar algun altre manual per què acabi de funcionar.

 

Les fonts per aquest artícle són:

 - Pàgina oficial del paquet --->  http://www.lm-sensors.org/

 - Pàgina d'on és tret l'script, on hi ha explicat aquest artícle i d'altres com en el cas del disc dur --->  http://havetheknowhow.com/Configure-the-server/Spindown-Shutdown.html

 - Pàgina on explica el procés més detallat ---> http://ubuntuforums.org/showthread.php?t=2780

 (les tres pàgines en anglès)

 

 Que vagi bé! 

 

Comentaris

Opcions de visualització de comentaris

Selecciona la vostra manera preferida de visualitzar els comentaris i feu clic en "Desa la configuració" per activar els canvis.
imatge de ignasiferrer

fedora?

I per fedora? quin comandos son?

imatge de eloi.rebes

prova-ho

 ...no domino tant com per diferenciar ordres... pero tu prova tot el proces... i sino pensa que amb els links d'on he tret la info hi ha la pagina oficial, on trobaras les FAQ... i mes detalls...

sensor

imatge de eloi.rebes

Corregit, i afegit 2on script

  ...tenia pendent resposta de l'autor per uns errors que em donava per pantalla.

 L'script estava fet per un doble nucli. He corregit l'script i he afegit en format .txt les 2 versions.

 ...no he comprobat el de doble nucli, si algu pot aportar el resultat del script de 2 nuclis...

  El tema del correu, si no es te un bon domini hi ha servidors de correu que no accepten correus que vénen de  servidors amb ip dinamica, pot ser que no funcioni per aquest motiu.

 

 salut