Hallo,
ich nutzte FHEM bereits seits 2 Jahren und es funktioniert bisher problemlos. Nun habe ich allerdings einen Fehler bei dem ich nicht weiter komme.
Ich habe ein SYSMON angelegt um meine Banana zu überwachen und daraus ein paar Plots zu erstellen.Soweit ist auch alles ok allerdings
wird die RAM-Auslastung nicht richtig ausgelesen / berechnet, reading sieht wie folgt aussieht:
ram Total: 970.39 MB, Used: -1278.53 MB, -131.75 %, Free: 1581.56 MB
Das Reading zum Swapfile wird richtig erfasst:
swap Total: 125.37 MB, Used: 0.00 MB, 0.00 %, Free: 125.37 MB[/b]
Den SYSMON habe ich mit über ein define in der Weboberfläche angelegt (define BananaPi SYSMON).
Das FHEM ist auf dem letzten Stand, Update heute morgen, Betriebsystem ist Debian Stretch letztes Update ebenfalls heute.
Kann mir jemand helfen oder hat vielleicht ein ähnliches Problem.
Vielen Dank im Voraus!
Hallo,
ich habe heute ein wenig Zeit mit der vermeitlichen Fehlersuche verbracht und glaube ich bin fündig geworden.
Der Befehl welcher von SYSMON verwendet wird (free) scheint seine formatierung geändert zu haben.
root@ha1:/opt/fhem/FHEM# free
total used free shared buff/cache available
Mem: 993676 153884 195552 512 644240 826104
Swap: 128380 180 128200
free -V schmeist "free from procps-ng 3.3.12" aus. Bei einem älteren free fehlte available und buffers und cache waren einzeln aufgelist.
Ich habe in der 42_SYSMON.PM ab Zeile 2296 ein paar Werte passend zu meinem free angepasst und es zeigt jetzt die passenden Werte (siehe Screenshot).
Die auskommentierten Zeilen sind das Original.
# $used_clean = $used - $buffers - $cached;
$used_clean = $used;
# $ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used_clean, ($used_clean / $total * 100), ($free + $buffers + $cached));
$ram = sprintf("Total: %.2f MB, Used: %.2f MB, %.2f %%, Free: %.2f MB", $total, $used, ($used / $total * 100), ($cached));
Ist es möglich für kommende Version zu gucken welches free man unterm Hintern hat?
Gruß
Patrick
Hi,
bei mir ist es genau so, wie bei Dir. Ich habe auch procps 3.3.12 installiert.
Man bekommt das alte Verhalten, dass buffers und cache getrennt sind, durch den Parameter "-w":
free -w
total used free shared buffers cache available
Mem: 8221620 456952 2315304 1048 186220 5263144 7723732
Swap: 0 0 0
Allerdings bleibt dann noch das Problem, dass die Zeile
$used_clean = $used - $buffers - $cached
falsch ist, wie Du ja auch schon beschrieben hast.
LG
Christian
Gibt es hier mittlerweile schon eine Lösung?
Hatte ich vor etlicher Zeit schon einmal im SYSMON Thread beschrieben und eine Lösung aufgezeigt denn auf einem Ubuntu System gab es auch eine falsche Berechnung des RAM.
VG
Frank
Meinst du das?
https://forum.fhem.de/index.php/topic,17201.msg455994.html#msg455994
Wurde das nicht eingechecked?
Da ist die Auflösung von $nName noch nicht mit dabei, habe iMo keine Zeit das noch mal auszugraben, guck in dem Thread mal noch ein Stück runter, da hatte ich noch den kompletten SYSMON.pm Code zum runterladen gepostet.
P.S. das ist aber auf ein Ubuntu LTE optimiert, ob das bei dir funktioniert kann ich nicht sagen da ich die Pfade nicht kenne
Wenn ich mich richtig erinnere habe ich den originalen Code, bis auf die RAM Berechnung nicht angefasst und nur über || erweitert
VG
Frank
Ich habe Ubuntu LTS. Der RAM wird nun auch korrekt angezeigt.
https://forum.fhem.de/index.php/topic,17201.msg456040.html#msg456040
Anschließend verschwinden aber 2 von 3 Sysmon Devices.
Ich habe auch die Befürchtung, dass bei einem FHEM Update das Patch wieder überschrieben wird. Und ausnehmen möchte ich es nicht, da ich dann keine Verbesserungen mehr bekomme. Kann man das in das offizielle Modul einfügen?