Hallo zusammen,
ich hatte heute einen heftigen Datenfehler in einem 8MB großen Logfile.
Einhergehend mit meiner Suche nach dem Fehler hatte ich festgestellt, dass der fhem Prozess permanent 100% CPU nutzt. Der Wert war sonst viel niedriger. FHEM lässt sich normal bedienen.
Die Korrektur im Logfile hat die CPU Auslastung nicht reduziert, das hätte ja sein können.
Da apptime Werte von maxDly unter 40ms ausgibt, habe ich kurzerhand mal das SYSMON aktiviert.
Meine Frage:
SYSMON gibt ja diesen eigentlich klaren Text aus:
stat_cpu0_text user: 0.08 %, nice: 0.00 %, sys: 0.20 %, idle: 99.70 %, io: 0.02 %, irq: 0.00 %, sirq: 0.00 % 2023-03-29
19:25:27
Demnach ist die CPU zu 99,7% idle.
Wie passt das mit der Ausgabe 100% CPU für den fhem/perl Prozess des "top" Befehls zusammen?
VG Helmut
Hat sich erledigt.
cpu3 ist auf 100%
Du must die CPU % in Unix anders verstehen als bei Windows.
100% CPU ist 100% CPU in EINEM KERN. Bei einer 4 Kern CPU kann also ein Prozess 400% belegen. Ich weiß zu wenig von Deinem System, um damit Deine Zahlen beurteilen zu können.
Kannst Du also uns bitte mehr über Dein System erzählen und von der Konsole (nicht von FHEM) folgende Werte geben?
uptime
top -n1
iostat
Eventuell noch mehr Werte nötig, aber das können wir dann sehen ...
P.S. Info zu vmstat:
https://www.thomas-krenn.com/de/wiki/Linux_Performance_Messungen_mit_vmstat
https://wiki.ubuntuusers.de/vmstat/
Das ist schon klar, hatte die "0" übersehen.
uptime:
22:15:57 up 3:14, 1 user, load average: 1,00, 1,00, 1,00
top -n1:
22:17:19 up 3:16, 1 user, load average: 1,00, 1,00, 1,00
Tasks: 128 total, 2 running, 126 sleeping, 0 stopped, 0 zombie
%Cpu(s): 22,4 us, 6,0 sy, 0,0 ni, 71,6 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
MiB Mem : 1872,2 total, 1487,8 free, 223,9 used, 160,5 buff/cache
MiB Swap: 100,0 total, 100,0 free, 0,0 used. 1560,6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1341 fhem 20 0 132132 121988 8512 R 100,0 6,4 138:43.65 perl
1671 pi 20 0 10184 2896 2536 R 6,2 0,2 0:00.02 top
1 root 20 0 33728 8052 6444 S 0,0 0,4 0:04.39 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:00.01 kthreadd
3 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_par_gp
8 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_percpu+
9 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_tasks+
10 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_tasks+
11 root 20 0 0 0 0 S 0,0 0,0 0:00.28 ksoftirqd+
12 root 20 0 0 0 0 I 0,0 0,0 0:00.70 rcu_sched
13 root rt 0 0 0 0 S 0,0 0,0 0:00.01 migration+
14 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/0
15 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/1
16 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration+
17 root 20 0 0 0 0 S 0,0 0,0 0:00.06 ksoftirqd+
20 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/2
sysstat musste ich noch installieren.
iostat:
Linux 5.10.103-v7l+ (fhem) 29.03.2023 _armv7l_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
19,67 0,04 5,47 0,04 0,00 74,78
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
mmcblk0 0,04 1,45 0,00 17772 1
sda 1,15 17,58 8,22 214794 100420
Um 0.00 wird das große Logfile neu angelegt. Mal sehen, ob das Auswirkungen hat.
Ich stelle im Moment keine Performanceprobleme fest. Einzig der Aufbau der drei Grafiken aus dem großen Logfile dauert ca. 2 Sekunden beim Seitenaufbau.
Nachtrag: Die "drei Grafiken" werden in Bezug auf ihre Reihenfolge in der Seite und dann in der Gruppe sortiert.
Über "column" Attribut in WEBxxx Device und dann per sortby Attribut im jeweiligen Device.
Moin zusammen,
die Größe des Logfiles hatte keine Auswirkungen auf die CPU Auslastung von 100%.
Jetzt mit aktuell 2011 Records wird die Seite mit den 3 Grafiken 1 Sek. schneller aufgebaut, aber sonst gibt es keine Änderung am System.
Die Ursachen liegen also an anderer Stelle.
So ich hab's gefunden.
Ich hatte das Modul SMAEM zur Überwachung des Sunny Home Managers installiert, jedoch auf disable=1 gesetzt, da ich die Daten direkt vom Wechselrichter bekomme.
In apptime maxDelay gibt es für SMAEM nur kleine Werte, aber eine sehr hohe Anzahl Counts, obwohl das Modul auf disable gesetzt ist.
Nach dem Delete ist die CPU LAst wieder auf 1-stellig.
Ich denke, ich werde einen Beitrag im entsprechenden Forumsbereich dazu posten.
Danke an Werniemann für's Einsteigen!
VG Helmut
Sorry hatte heute noch anderes zu tuen. Ist denn der load auch gesunken?
Siehe oben :)
Nach dem Delete ist die CPU Last wieder auf 1-stellig.
VG Helmut