Hauptmenü

Sysmon Verständnisfrage

Begonnen von Markus., 08 Februar 2017, 16:02:10

Vorheriges Thema - Nächstes Thema

Markus.

Hallo Zusammen,

meinen FHEM habe ich auf einem Raspi3 laufen und überwache die Werte derzeit mit sysmon. Da ich jetzt das ganze per Ftui visualisieren möchte tut sich eine Verständnisfrage bezüglich der Werte in Sysmon auf :-)
Zum Beispiel möchte die die CPU Auslastung darstellen. Da gibt es ja das reading loadavg, das mir die Auslastung der letzte, der letzten 5 und er letzten 15 Minuten im Durchschnitt anzeigt.

loadavg  0.00 0.05 0.07

Müssen diese Werte eigentlich mit 10 mulitpliziert werden damit das den eigentlichen Prozentwert ergibt?
Das hieße ja auch das sich der Raspi fast immer langweilt.. ;-)
Im Graph sieht das genauso aus...
Wäre also alles im allen plausibler wenn das ganze mit 10 multipliziert werden müsste.
Gruß

Markus



r00t2

#1
Hallo.

Lies mal das hier: https://de.wikipedia.org/wiki/Load

Der Load Average ist keine "einfache" Prozentzahl oder sonst etwas und von vielen Faktoren abhängig.
Grundsätzlich gilt aber: Je niedriger der Load ist, desto mehr Ressourcen stehen zur Verfügung und desto unbelasteter ist das System.
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

Markus.

das ist ja mal interessant :-)
Gibt es da Grenzwerte zum Beispiel für einen Raspberry PI3 um gewisse Grenzen visualisieren zu können?
Oder sollte man, um die Systemlast in Echtzeit darzustellen einen anderen Wert nehmen?

Gruß

Markus



DeeSPe

Zitat von: Markus. am 08 Februar 2017, 16:52:20
das ist ja mal interessant :-)
Gibt es da Grenzwerte zum Beispiel für einen Raspberry PI3 um gewisse Grenzen visualisieren zu können?
Oder sollte man, um die Systemlast in Echtzeit darzustellen einen anderen Wert nehmen?

Lies mal den Absatz "Prozentuale Auslastungswerte" im verlinkten Wikipedia Beitrag, speziell den Punkt "IDLE" und darunter...
Dann hast Du Deine Antwort! 8)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Markus.

danke nun raff ich es.. :-)
Wie kann man denn die Umrechnung in FHEM bewerkstelligen?

Gruß

Markus

DeeSPe

Zitat von: Markus. am 08 Februar 2017, 17:39:30
danke nun raff ich es.. :-)
Wie kann man denn die Umrechnung in FHEM bewerkstelligen?

Am Besten mit Perl! ;D ;D ;D

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Markus.

So habe mir nun diverse Definitionen und Berechnungen der aktuellen Cpu last in Prozent angesehen. Ein Teil ist ja auch nachvollziebar für mich 😂 Da das sysmon modul ja schon die einzelnen Prozentwerte für usr,nice,sys und idle liefert, ist es dann nicht so, das man von 100 nur den idle Wert abziehen muss um auf die aktuelle cpu last in Prozent zu kommen? Oder bin ich da auf dem Holzweg ?

Gruß

Markus

r00t2

#7
Zitat von: Markus. am 09 Februar 2017, 07:47:58...Oder bin ich da auf dem Holzweg ?...
Zähle die Werte mal zusammen - normalerweise müssten da immer 100% raus kommen :) Rundungsfehler mal außen vorgelassen.
Du bist also nicht auf dem Holzweg.

Grundsätzlich gilt: Time Busy + Time Idle = 100%
Etwas genauer aufgedröselt: Time Busy (bestehend aus usr + sys + nic + irq + sirq) + Time Idle (bestehend aus idle + io) = 100%

Wobei:
usr = Prozentuale CPU Auslastung auf Benutzerebene
sys = Prozentuale CPU Auslastung auf Systemebene (Kernel) - ohne Hardware bzw. Software Interrupts
nic = Prozentuale CPU Auslastung auf Benutzerebene von Prozessen mit hohem "nice" Wert (= niedrige Prozesspriorität)
irq = Prozentuale CPU Auslastung um Hardware Interrupts zu bedienen
sirq = Prozentuale CPU Auslastung um Software Interrupts zu bedienen
idle = Prozentuale Zeit in der die CPU(s) im Leerlauf (also ohne ausstehende I/O Anfragen) waren
io = Prozentuale CPU Auslastung um I/O Anfragen zu bearbeiten
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

neyzen

Hallo,

wie hast du es den jetzt dargestellt, das du die Auslastung in Prozent bekommst?
Die Prozentwerte für usr,nice,sys und idle sehe ich im sysmon nicht.

r00t2

Die sollten da sein laut https://wiki.fhem.de/wiki/SYSMON#readings

ZitatCPU Auslastung

    Informationen zu der Auslastung der CPU(s).
    Beispiel:

        stat_cpu: 10145283 0 2187286 90586051 542691 69393 400342
        stat_cpu_diff: 2151 0 1239 2522 10 3 761
        stat_cpu_percent: 4.82 0.00 1.81 93.11 0.05 0.00 0.20
        stat_cpu_text: user: 32.17 %, nice: 0.00 %, sys: 18.53 %, idle: 37.72 %, io: 0.15 %, irq: 0.04 %, sirq: 11.38 %
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

neyzen

Das hab ich übersehen.
D.h. wenn ich die  Time Busy (bestehend aus usr + sys + nic + irq + sirq) zusammen addiere bekomme ich die Auslastung in Prozent?

In dem Beispiel ist ja die Summe von
stat_cpu_text: user: 32.17 %, nice: 0.00 %, sys: 18.53 %, idle: 37.72 %, io: 0.15 %, irq: 0.04 %, sirq: 11.38 %
=100%.
Somit minus idle:37.72% ist die Auslastung = 62.28%, Richtig?


kadettilac89

cpu all = 100 - idle ... richtig.


mein sysmon device heißt sysmon ... habe selber ein userReadin mit Namen ... stat_cpu_all2 in dem dann die CPU gesamt ist ...


attr sysmon userReadings fs_root_used:fs_root.* stat_cpu_all2:stat_cpu_percent.* { my @a = split ' ',ReadingsVal($name,'stat_cpu_percent',0);;round(100-$a[3],2) }

neyzen

Danke

meine Auswertung sieht jetzt so aus:

userReadings
Cpu_Prozent { 100 - (split ' ',ReadingsVal("sysmon","stat_cpu_percent",0))[3]}