[erledigt] SYSMON: Verständnisfrage und Suche nach Ursachen 100% CPU ("top")

Begonnen von isy, 29 März 2023, 19:30:35

Vorheriges Thema - Nächstes Thema

isy

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%
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Wernieman

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/
- 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

isy

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.

Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

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.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

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.

Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

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
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Wernieman

Sorry hatte heute noch anderes zu tuen. Ist denn der load auch gesunken?
- 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

isy

Siehe oben :)
Nach dem Delete ist die CPU Last wieder auf 1-stellig.

VG Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht