Seite 2 von 4
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: So Nov 03, 2024 8:37 pm
von zut
Ich mache mal einen Versuch:
Code: Alles auswählen
pi@openwb-2:~$ cat chromewatch.py
#!/usr/bin/env python3
"""
frage periodisch den Speicherbedarf und die CPU-Last eines hartkodierten Prozesses ab und schreibe die Ergebnisse an den lokalen moquitto-broker
"""
import sys
import time
import os
import paho.mqtt.publish as publish
while True:
stat = os.popen('ps -ho %mem,%cpu 29815').read()
publish.single('others/chromewatch/stat', stat)
time.sleep(60)
Mal sehen, was daraus wird...
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Mi Nov 06, 2024 8:09 am
von zut
So, nun läuft es:
Code: Alles auswählen
#!/usr/bin/env python3
"""
frage periodisch den Speicherbedarf und die CPU-Last eines hartkodierten Prozesses ab und schreibe die Ergebnisse an den lokalen moquitto-broker
"""
import sys
import time
import os
import paho.mqtt.publish as publish
while True:
stat = os.popen('ps -ho %mem,%cpu 29815').read()
list = stat.split()
publish.single('others/chromewatch/mem', list[0])
time.sleep(60)
publish.single('others/chromewatch/cpu', list[1])
time.sleep(3540)
...und erzeugt ein Diagramm in Grafana:
PS: Das paho-mqtt-Verzeichnis aus dem openwb-Nutzerverzeichnis habe ich in das Verzeichnis kopiert, in dem auch chromewatch liegt.
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Do Nov 07, 2024 3:44 pm
von zut
Die Tendenz ist erkennbar:
Seit dem Start am 21.10. hat der Prozess seine CPU-Last von 5% auf 52% gesteigert und den Speicherverbrauch von 11% auf 38%.
Ich denke es lohnt sich, da mal hinterherzu gehen. Schmeißt die Anzeigeseite die alten Meßwerte eigentlich mal weg oder macht eine garbage collection?
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Do Nov 07, 2024 4:21 pm
von LutzB
Ja, die Messwerte werden nur begrenzt zwischengespeichert.
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Fr Nov 08, 2024 3:08 pm
von zut
An dieser Stelle komme ich ins kurze Gras. Was mir auffällt, wenn ich die Seite des Displays (
http://192.168.1.102/openWB/web/display/) auf meinem Desktop anzeigen lasse und die chromium-Konsole aufmache ist, daß mehrere MQTT-Topics pro Sekunde mittels "addTopic" abonniert werden?
Sind das nur Daten, die ankommen, oder abonniert die Seite immer wieder ein Topic neu, sobald es empfangen wurde? Die Inhalte werden ja schon mit "Received message" gelogged. DIe Funktion updateTopic scheint mir dem Namen nach besser geeignet, aber ich kenne den Code nicht.
Beispiel:
Code: Alles auswählen
addTopic openWB/chargepoint/3/get/charge_state false
index-AtLAf1dw.js:2 Received message "true" from topic "openWB/chargepoint/3/get/plug_state"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/plug_state true
index-AtLAf1dw.js:2 Received message "0" from topic "openWB/chargepoint/3/set/current"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/set/current 0
index-AtLAf1dw.js:2 Received message "0" from topic "openWB/chargepoint/3/get/power"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/power 0
index-AtLAf1dw.js:2 Received message "1" from topic "openWB/chargepoint/3/get/phases_in_use"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/phases_in_use 1
index-AtLAf1dw.js:2 Received message "false" from topic "openWB/chargepoint/3/get/charge_state"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/charge_state false
index-AtLAf1dw.js:2 Received message "true" from topic "openWB/chargepoint/3/get/plug_state"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/plug_state true
index-AtLAf1dw.js:2 Received message "0" from topic "openWB/chargepoint/3/set/current"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/set/current 0
index-AtLAf1dw.js:2 Received message "0" from topic "openWB/chargepoint/3/get/power"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/power 0
index-AtLAf1dw.js:2 Received message "1" from topic "openWB/chargepoint/3/get/phases_in_use"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/phases_in_use 1
index-AtLAf1dw.js:2 Received message "false" from topic "openWB/chargepoint/3/get/charge_state"
index-AtLAf1dw.js:2 addTopic openWB/chargepoint/3/get/charge_state false
index-AtLAf1dw.js:2 Received message "true" from topic "openWB/chargepoint/3/get/plug_state"
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Fr Nov 08, 2024 3:37 pm
von LutzB
Der Code an der Stelle ist sehr übersichtlich.
https://github.com/openWB/core/blob/a1d ... tt.js#L870
Vielleicht sind es auch einfach "nur" die Debug-Meldungen und das Logging sorgt für den wachsenden Speicherverbrauch? Hat da jemand Erfahrungen mit?
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Mo Nov 11, 2024 7:43 pm
von zut
Neue Erkenntnis: Die Energieflußanzeige sorgt für erkennbar langsamere Zunahme der CPU-Nutzung. Hinsichtlich Speicherverbrauch bin ich mir nicht so sicher. Ich habe gestern abend das Wallbox-Display auf die Energieflußanzeige umgeschaltet:
- Screenshot_20241111_204115.png (34.92 KiB) 629 mal betrachtet
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Di Nov 12, 2024 10:30 am
von LutzB
Mit diesem PR
https://github.com/openWB/core/pull/2012 ist im aktuellen Master Branch jegliches unnötiges Logging auf die Konsole deaktiviert. Lediglich Warnungen und Fehler tauchen noch dort auf. Bitte mal prüfen, ob das etwas an dem Verhalten ändert.
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Di Nov 12, 2024 4:19 pm
von zut
Ich habe jetzt auf master gewechselt (RC1) und werde berichten.
Re: Unbedienbarkeit, Speicherbedarf chromium, Systemlast
Verfasst: Di Nov 12, 2024 7:41 pm
von zut
Die ersten Messwerte der Übersicht des Cards-Themas sehen vielversprechend aus.