Blog

tags: news software deutsch opensource


24.Feb.2017 14:44 - zuletzt aktualisiert: 24.Feb.2017 15:19

Defekter Temperatursensor und willkürliche Shutdowns

Seit Kurzem habe ich das Problem, daß mein etwas betagtes Mainboard sich eigenartig verhält. Hin und wieder fährt der Rechner einfach runter. Nach einigen Überlegungen fing ich einfach mal an, mit einem kleinen Bash-script die Sensorwerte der Temperaturfühler des Mainboards aufzuzeichnen. Hier das Script:

#!/bin/bash

mkdir -p /var/log/temps
TIME=$(date +%s)
FILENAME=temps_$TIME.log

function getData
  {
   TIME=$(date +%s)
   SENSOR1=$(cat /sys/class/hwmon/hwmon0/temp1_input | sed s/000//)
   SENSOR2=$(cat /sys/class/hwmon/hwmon1/device/temp1_input | sed s/000//)
   SENSOR3=$(cat /sys/class/hwmon/hwmon1/device/temp2_input | sed s/000//)
   SENSOR4=$(cat /sys/class/hwmon/hwmon1/device/temp3_input | sed s/000//)
   SENSOR5=$(cat /sys/class/hwmon/hwmon1/device/temp4_input | sed s/000//)
   SENSORS="$SENSOR1 $SENSOR2 $SENSOR3 $SENSOR4 $SENSOR5"
   LOAD=$(cat /proc/loadavg | sed 's/[0-9 ]*$//' | sed 's/[0-9/]*$//' | sed 's/[ ]$//' | sed 's/[\.]/,/g')
  }

COUNTER=0

while [ true ]
do
  let " COUNTER = $COUNTER + 1 "

  getData
  echo -e "$TIME \t$COUNTER \t\t$SENSORS \t\t$LOAD" >> /var/log/temps/$FILENAME

  sleep 1
done

Wenn man jetzt das ganze z.Bsp. mit einem @reboot in die crontab einbaut, so wird das Skript während des Hochfahrens irgendwann gestartet und zeichnet fleißig die Temperaturen im Sekundentakt auf.

Heraus kommen dabei streckenweise gigantische Datenmengen. Je nach uptime hatte ich logs mit streckenweise 70.000 Zeilen!

Um jetzt nicht die Augen zu zerfetzen beim manuellen Sichten der Daten, habe ich mir mit LibreOffice eine Tabelle angelegt, und diese dann zu folgendem Ergebnis visualisiert. Das Diagramm stellt den Ablauf vom Kaltstart bis zur abschließenden Spitze bei ca 90°C dar. Im unteren Bereich ist noch die CPU-Load aufgetragen (schwarz), so wie sie unter /proc/loadavg zu finden ist. Ich nutze hier nur den Wert einer Minute. Klicken zum Vergrößern

Diagramm der Temperaturwerte und der CPU-Last

Aus diesem Diagramm läßt sich nun wunderbar herauslesen, was hier eigentlich passiert. Der Sensor1 (blau), also die Daten von /sys/class/hwmon/hwmon0/temp1_input zeichnen hier ein fast lustiges Bild. Messwerte zwischen -120°C ? und über 90°C! Da dieser Rechner in meinem Wohnzimmer steht kann ich mit an Sicherheit grenzender Wahrscheinlichkeit behaupten: Diese Werte sind Mumpitz!
Allerdings erklären diese Werte auch diese spontanen Shutdowns! Mein BIOS ist so eingestellt, daß das System bei CPU Temperature über 90°C herunterfährt. Also bestätigt mein Problem zusätzlich noch die ordnungsgemäße Funktionalität dieser BIOS Funktion! ?

Jetzt muß ich nur noch einen Weg finden, wie ich diesen Sensor etwas normalisieren kann. Ich vermute es würde schon reichen, wenn immer ein durchschnittlicher Wert aus 2 Sekunden ermittelt würde, um den durchgeknallten Sensor wieder in einen halbwegs brauchbaren Zustand zu versetzen. Dann würde auch bei großer Hitzeentwicklung der Alarm ausgelöst und das System heruntergefahren - so wie es eigentlich gedacht ist.




Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter
Creative Commons Namensnennung 4.0 International .

Kommentare

Kommentar verfassen








😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🤐🤑🤒🤓🤔🤕🤖🤗🤘🤠🤡🤢🤣🤤🤥🤦🤧👍𝄞🌍🌹🍻🍾

Datenschutzerklärung

Ihre IP-Adresse, Browserinformation (useragent-string) etc werden von dieser Blogsoftware nicht gespeichert. Trotzdem könnte es sein, daß der Betreiber dieser Webseite solche Daten von Ihnen speichert. Das ist allerdings außerhalb der Reichweite dieser Blogsoftware. Bitte sehen Sie sich die Datenschutzerklärung der Webseite an um mehr darüber zu erfahren!

This blog-software generally doesn't store any information about you. Only if you post a comment, some data will have to be stored. You don't have to input any personal information here. Except for the comment itself, all fields are optional!
If you don't want to tells us your name, that's fine. It will be shown as 'anonymous'.
If you want to receive notifications on following comments, naturally you'll have to give us your email address. It will be stored and not be shared with anybody. If you don't want to be notified, just leave the notifications field empty.
If you want your name to be linked to your website, you'll have to give us your site's address. Otherwise leave this field empty.

Falls Sie einen Kommentar hinterlassen wollen werden folgende Daten gespeichert werden:

  • Zeit und Datum Ihres Kommentars
  • Ihr Name (falls angegeben)
  • Ihre Emailadresse (falls angegeben)
  • Ihre Webseite (falls angegeben)
  • Ihr Kommentar
  • einige technische Informationen, die mit Ihnen nichts zu tun haben, z.Bsp. zu welchem Blogartikel Ihr Kommentar gehört und eine eindeutige ID für Ihren Kommentar