Blog

tags: news software deutsch opensource


24.Feb.2017 14:44 - last update: 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.




comments

post a comment








โ˜บโ˜น๐Ÿ˜€๐Ÿ˜๐Ÿ˜‚๐Ÿ˜ƒ๐Ÿ˜„๐Ÿ˜…๐Ÿ˜†๐Ÿ˜‡๐Ÿ˜ˆ๐Ÿ˜‰๐Ÿ˜Š๐Ÿ˜‹๐Ÿ˜Œ๐Ÿ˜๐Ÿ˜Ž๐Ÿ˜๐Ÿ˜๐Ÿ˜‘๐Ÿ˜’๐Ÿ˜“๐Ÿ˜”๐Ÿ˜•๐Ÿ˜–๐Ÿ˜—๐Ÿ˜˜๐Ÿ˜™๐Ÿ˜š๐Ÿ˜›๐Ÿ˜œ๐Ÿ˜๐Ÿ˜ž๐Ÿ˜Ÿ๐Ÿ˜ ๐Ÿ˜ก๐Ÿ˜ข๐Ÿ˜ฃ๐Ÿ˜ค๐Ÿ˜ฅ๐Ÿ˜ฆ๐Ÿ˜ง๐Ÿ˜จ๐Ÿ˜ฉ๐Ÿ˜ช๐Ÿ˜ซ๐Ÿ˜ฌ๐Ÿ˜ญ๐Ÿ˜ฎ๐Ÿ˜ฏ๐Ÿ˜ฐ๐Ÿ˜ฑ๐Ÿ˜ฒ๐Ÿ˜ณ๐Ÿ˜ด๐Ÿ˜ต๐Ÿ˜ถ๐Ÿ˜ท๐Ÿ™๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™„๐Ÿ™…๐Ÿ™†๐Ÿ™‡๐Ÿ™ˆ๐Ÿ™‰๐Ÿ™Š๐Ÿ™‹๐Ÿ™Œ๐Ÿ™๐Ÿ™Ž๐Ÿค๐Ÿค‘๐Ÿค’๐Ÿค“๐Ÿค”๐Ÿค•๐Ÿค–๐Ÿค—๐Ÿค˜๐Ÿค ๐Ÿคก๐Ÿคข๐Ÿคฃ๐Ÿคค๐Ÿคฅ๐Ÿคฆ๐Ÿคงโ™ฝโš โœŒโœ”โžœ๐„ž๐ŸŒ๐ŸŒน๐Ÿป๐Ÿพโ˜žโ˜ โ˜•โ˜ขโ˜ฎโ˜ฏ

privacy declaration

Your IP-address, useragent-string etc are not stored by this blog-software. Still, it is possible that the hoster of this website may store data like this. But that is beyond the scope of this blog-software. Check out this website's privacy declaration to find out more about that!

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.

This data will be stored in case you decide to post a comment here:

  • time and date of your post
  • your name (if supplied)
  • your email (if supplied)
  • your website (if supplied)
  • your comment
  • some technical information unrelated to you, like which blogpost this comment belongs to and a unique id for this comment