Ein Modul zur Erfassen von diversen RPi/Linux-Statistiken (SYSMON)

Begonnen von hexenmeister, 06 Dezember 2013, 17:44:38

Vorheriges Thema - Nächstes Thema

hexenmeister

Zitat von: andies am 25 April 2017, 18:28:03
Ich habe seit heute einen load average von null? Im log-file stehen Daten, nur bei load sei das angeblich verschwindend. Ich glaube das nicht, weiß aber nicht, woran das liegen soll.

Gute Frage, kann auch nur raten... Welche Daten stehen denn im Log? Was liefert cat /proc/loadavg
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

andies

Danke für die Hilfe. Der Terminalbefehl liefert
pi@Zimmer:~ $ cat /proc/loadavg
0.00 0.00 0.00 1/214 18605

und dann scheint das Problem ja dort zu bestehen. Wie kann das sein? top sagt mir
top - 22:11:42 up 2 days, 13:50,  2 users,  load average: 0,00, 0,00, 0,00
Tasks: 162 total,   1 running, 161 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,2 us,  0,2 sy,  0,0 ni, 99,6 id,  0,0 wa,  0,0 hi,  0,1 si,  0,0 st
KiB Mem:    882772 total,   518716 used,   364056 free,    54224 buffers
KiB Swap:        0 total,        0 used,        0 free.   324740 cached Mem

Der logfile selbst ist (bis auf load) unauffällig
2017-04-25_22:06:09 sysmon cpu_temp: 40.78
2017-04-25_22:06:09 sysmon wlan0_diff: RX: 0.08 MB, TX: 0.01 MB, Total: 0.09 MB
2017-04-25_22:06:09 sysmon loadavg: 0.00 0.00 0.00
2017-04-25_22:06:09 sysmon stat_cpu_percent: 0.12 0.00 0.12 99.69 0.00 0.00 0.07
2017-04-25_22:06:09 sysmon cpu_temp_avg: 40.8
2017-04-25_22:06:09 sysmon ram: Total: 862.08 MB, Used: 136.22 MB, 15.80 %, Free: 725.86 MB
2017-04-25_22:09:08 sysmon cpu_freq: 600
2017-04-25_22:09:09 sysmon cpu_temp: 40.78
2017-04-25_22:09:09 sysmon wlan0_diff: RX: 0.07 MB, TX: 0.00 MB, Total: 0.07 MB
2017-04-25_22:09:09 sysmon loadavg: 0.00 0.00 0.00
2017-04-25_22:09:09 sysmon cpu_temp_avg: 40.8
2017-04-25_22:09:09 sysmon stat_cpu_percent: 0.14 0.00 0.11 99.71 0.00 0.00 0.04
2017-04-25_22:09:09 sysmon ram: Total: 862.08 MB, Used: 136.33 MB, 15.81 %, Free: 725.75 MB
2017-04-25_22:10:09 sysmon fs_boot: Total: 63 MB, Used: 21 MB, 34 %, Available: 42 MB at /boot
2017-04-25_22:10:09 sysmon fs_root: Total: 29867 MB, Used: 2829 MB, 10 %, Available: 25796 MB at /
2017-04-25_22:12:08 sysmon cpu_freq: 600
2017-04-25_22:12:09 sysmon ram: Total: 862.08 MB, Used: 139.74 MB, 16.21 %, Free: 722.34 MB
2017-04-25_22:12:09 sysmon stat_cpu_percent: 0.23 0.00 0.18 99.52 0.00 0.00 0.07
2017-04-25_22:12:09 sysmon cpu_temp_avg: 40.9
2017-04-25_22:12:09 sysmon wlan0_diff: RX: 0.11 MB, TX: 0.07 MB, Total: 0.18 MB
2017-04-25_22:12:09 sysmon loadavg: 0.00 0.00 0.00
2017-04-25_22:12:09 sysmon cpu_temp: 41.32
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wernieman

Dazu sollte man erstmal Wissen, was Load ist.
"Load bedeutet die Anzahl, der auf IO Wartenden Prozesse"
https://de.wikipedia.org/wiki/Load

Da auch Dein TOP ein Proress ist, produziert er natürlich eine höhere "Last" als Dein "cat". Insofern kann es wirklich so sein, das aktuell Dein System alles schnell abarbeitet und damit Die Load = 0 mit cat ermittelt

Kleine Bemerkung am Rande:
Die Load sagt damit auch nichts über die Belastung des Servers. War bei meiner letzten Firma auf einem Server, der eine Load von 10.000 hatte (in Worten zehntausend). Trotzdem war er noch geschmeidig zu Bedienen. Nur hatten sich php-Prozesse angestaut, die auf einen aktuell nicht vorhandenden mysql-Server warteten. Diese erzeugzten load, aber eben keine CPU Last. Dagegen war ein anderer Server mit einer load von 2 fast tot. 2 Prozesse haben Ihn eben ausgelastet ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

andies

OK, dem entnehme ich, dass es kein Fehler im RPi ist sondern eben wenig los auf dem Gerät (ich wusste übrigens, was load ist). Dazu passen die niedrigen Temperaturen.

Mich hatte eben nur gewundert, wieso nach etwa vier Wochen Dauerbetrieb mit load_avg=.4 diese Größe auf einmal auf null rauscht. Das erschien mir unplausibel.
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wernieman

Hast Du etwas in den 4 Wochen am System geändert? Wobei auch ein Update des Systemes ausreicht ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

moonsorrox

Zitat von: Wernieman am 26 April 2017, 09:23:50
Kleine Bemerkung am Rande:
Die Load sagt damit auch nichts über die Belastung des Servers. War bei meiner letzten Firma auf einem Server, der eine Load von 10.000 hatte (in Worten zehntausend). Trotzdem war er noch geschmeidig zu Bedienen. Nur hatten sich php-Prozesse angestaut, die auf einen aktuell nicht vorhandenden mysql-Server warteten. Diese erzeugzten load, aber eben keine CPU Last. Dagegen war ein anderer Server mit einer load von 2 fast tot. 2 Prozesse haben Ihn eben ausgelastet ...

Echt interessant...!! :D Tja man muss sich nur gut auskennen oder eben beruflich damit zu tun haben, dass hilft hier manchmal sehr..!!!
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

andies

Zitat von: Wernieman am 26 April 2017, 10:24:38
Hast Du etwas in den 4 Wochen am System geändert? Wobei auch ein Update des Systemes ausreicht ...
Nein, eben nicht. Das wundert mich.

Es heißt doch im Umkehrschluss, dass da wochenlang (!) irgendwas los war, was sich jetzt endlich geregelt hat. Ich wüsste zu gern, welche Prozesse da anscheinend wirkungs- und damit nutzlos im Hintergrund laufen...
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wernieman

Im Nachhinein .. schlecht zu sagen ... kannst nur versuchen in den Logfiles zu suchen ...

Wirklich nichts geändert?
- Neue Webgeräte
- Systemupdates
- FHEM-Änderungen (z.B: Art des Loggings, geänderte/gelöschte Devices)
- FHEM-Änderung bezüglich Webabfragen (Benzienpreismonitor, Wetter, Bahn etc.)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

andies

Gestern habe ich ein update gemacht und schwups sind wir wieder bei 0.4 load ;-)
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich habe die Ursache, vermutlich. Ich habe heute Xinit deinstalliert, inlusive Screensaver. Wenige Minuten später fiel load auf 0.1 und bleibt seitdem dort.
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

andies

Raspberry, aber eben nicht die light-Version. Ich habe mich früher nicht getraut, ohne grafische Oberfläche zu starten.
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wernieman

Alle Angaben ohne Gewähr:
sudo systemctl disable x11-common.service
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

SabineT

Zitat von: hoods am 16 April 2017, 21:14:27
Mir ist auch aufgefallen, dass die RAM Auslastung irgendwie krum ist, siehe Screenshot. Wenn ich es richtig verstehe, holst Du die Daten mittels "free".

Der Output des odroid unterscheidet sich leicht verglichen mit dem eines rpi.
root@odroid:~# free
              total        used        free      shared  buff/cache   available
Mem:        1758612      328896     1226152       18124      203564     1377908
Swap:       2097148           0     2097148

Das ist mir heute unter ubuntu auch aufgefallen. Ein "man free" zeigt:
used   Used memory (calculated as total - free - buffers - cache)

Da passt dann die Berechnung von $used_clean im sub SYSMON_getRamAndSwap($$) nicht und auch nicht die Berechnung von Free:.
Ich hab da jetzt mal im 42_SYSMON.pm diese beiden Zeilen (2306 und 2307):
    $used_clean = $used - $buffers - $cached;
    $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free + $buffers + $cached));


so geändert:
    $used_clean = $used;
    $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free));


Ich hab aber keine Idee, wie man abfragen könnte, welche Variante bei welchem Linux notwendig ist.

lg, Sabine

kleinerDrache

Hab heute nach dem updaten folgende Fehlermeldung die mein Log flutet:

Argument "cat: /sys/class/thermal/thermal_zone0/temp: Invalid argu..." isn't numeric in int at ./FHEM/42_SYSMON.pm line 1758.

System ist ein Cubietruck mit aktualisiertem Armbian.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT