Cumulusmx und Raspberry

für User von CumulusMX
Benutzeravatar
Gyvate
Offline
Beiträge: 2526
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#21

Beitrag von Gyvate »

benutzt Du die letzte (jüngste) mono Version ?
schon mal

Code: Alles auswählen

sudo apt-get update
gefolgt von

Code: Alles auswählen

sudo apt-get upgrade
gemacht ?
Wenn es ca. alle 48 h passiert, mal den Task-Manager mitlaufen lassen und nach 46/47 schauen, welche Task soviel Speicher verbraucht, ggf. schrittweise mehr und mehr anfordert ....
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Benutzeravatar
moppedhausi
Offline
Beiträge: 197
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 69 mal
Danksagung erhalten: 7 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#22

Beitrag von moppedhausi »

Update und Upgrade nutze ich regelmäßig.
Diese Mono Version nutze ich:

Code: Alles auswählen

mono -V
Mono JIT compiler version 6.12.0.200 (tarball Tue Jul 11 21:54:54 UTC 2023)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       normal
        Notifications: epoll
        Architecture:  armel,vfp+hard
        Disabled:      none
        Misc:          softdebug
        Interpreter:   yes
        LLVM:          yes(610)
        Suspend:       preemptive
        GC:            sgen (concurrent by default)
So sieht im Moment der Taskmanager aus:
htop.png
htop.png (189.51 KiB) 568 mal betrachtet
Benutzeravatar
olicat
Offline
Beiträge: 2030
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 28 mal
Danksagung erhalten: 414 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#23

Beitrag von olicat »

Hi!

Druecke im htop bitte mal den Buchstaben M (gross). Dann sollte die Sortierung nach Speicherverbrauch erfolgen.
Dann laesst Du diese htop-Sesion einfach offen und pruefst immer mal wieder, ob sich in den Top-3 etwas aendert.
Idealerweise auch 47-48 Stunden nach dem CMX-Neustart ...
;-)

BTW: Ich habe hier genau EINEN task namens mono ...
Waechst bei Dir die Anzahl an mono-Instanzen?
Mach mal bitte ein

Code: Alles auswählen

sudo ps ax|grep mono|grep -v grep|wc -l
Und wiederhole den Befehl im Lauf von 48 Stunden hin und wieder.
Die Anzahl an mono-Instanzen sollte eigentlich konstant mit 1 angezeigt werden.

Oliver
Benutzeravatar
Gyvate
Offline
Beiträge: 2526
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#24

Beitrag von Gyvate »

Hast Du denn in den Settings den Start einer 2. CMX Instanz unterdrückt ?
Settings --> Program Setting --> General Options ---> stop second instance

Es sieht ja so aus, als ob Du mehrere um nicht zu sagen viele CMX Instanzen parallel laufen hast, jede mit einer eigenen mono Instanz - da läuft sicher früher oder später der Hauptspeicher zu/voll

Wie sieht denn Deine Aug23log.txt aus - da müssten dann pro Speicherintervall mehrere Einträge sein, was sicher nicht gewünscht ist ....
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Benutzeravatar
moppedhausi
Offline
Beiträge: 197
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 69 mal
Danksagung erhalten: 7 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#25

Beitrag von moppedhausi »

Gyvate hat geschrieben: 18 Aug 2023, 20:01 Hast Du denn in den Settings den Start einer 2. CMX Instanz unterdrückt ?
Settings --> Program Setting --> General Options ---> stop second instance
habe ich.
Gyvate hat geschrieben: 18 Aug 2023, 20:01 Es sieht ja so aus, als ob Du mehrere um nicht zu sagen viele CMX Instanzen parallel laufen hast, jede mit einer eigenen mono Instanz - da läuft sicher früher oder später der Hauptspeicher zu/voll

Wie sieht denn Deine Aug23log.txt aus - da müssten dann pro Speicherintervall mehrere Einträge sein, was sicher nicht gewünscht ist ....
Alle 5 Minuten einen Eintrag.

Code: Alles auswählen

18.08.23;19:50;26,9;79;22,9;1;9;101;0,0;0,0;1014,4;577,3;26,9;64;0;26,9;29,4;0,0;50;2,83;48,57;31,9;44;7,0;0;0,0;0,0;30,7;36,9
18.08.23;19:55;26,8;80;23,1;1;8;99;0,0;0,0;1014,4;577,3;26,8;64;0;26,8;29,3;0,0;48;2,83;48,57;31,9;35;7,0;60;0,0;0,0;30,7;36,9
18.08.23;20:00;26,7;80;23,0;1;6;323;0,0;0,0;1014,4;577,3;26,8;64;0;26,7;29,1;0,0;45;2,86;48,60;31,8;27;7,1;164;0,0;0,0;30,6;36,
Benutzeravatar
moppedhausi
Offline
Beiträge: 197
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 69 mal
Danksagung erhalten: 7 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#26

Beitrag von moppedhausi »

olicat hat geschrieben: 18 Aug 2023, 19:17 Mach mal bitte ein

Code: Alles auswählen

sudo ps ax|grep mono|grep -v grep|wc -l
Und wiederhole den Befehl im Lauf von 48 Stunden hin und wieder.
Die Anzahl an mono-Instanzen sollte eigentlich konstant mit 1 angezeigt werden.
Hab ich gemacht. Ergebnis = 1
Benutzeravatar
Gyvate
Offline
Beiträge: 2526
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#27

Beitrag von Gyvate »

ich will jetzt nicht die Fehlersuche mit Ratschlägen torpedieren ...
Aber was ich machen würde wäre:
täglich irgendwann nach Mitternacht sowohl den Cumulus Service als auch den Mono-Service zu beenden (auch wenn er im Regelfall zusammen mit CMX beendet werden sollte) und danach (nur) den Cumulus-Service wieder neu zu starten. Da Du eh nur ein 5 Minuten Aufzeichnungsintervall hast, kannst Du ja den Servicestop z.B. um 00:16 und den Neustart um 00:18 machen.

Unabhängig davon solltest Du vielleicht erst mal @olicats Vorschläge umsetzen ...
Aber, mehr als eine mono Instanz ist auf jeden Fall zu viel ....

ich sehe gerade, dass wohl nur eine Instanz am Laufen ist - dann mal vielleicht meinen obigen Vorschlag umsetzen und explizit zusätzlich mono beenden, auch wenn das eine Fehlermeldung produziert.
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Benutzeravatar
olicat
Offline
Beiträge: 2030
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 28 mal
Danksagung erhalten: 414 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#28

Beitrag von olicat »

Hi!
Hab ich gemacht. Ergebnis = 1
In Deinem beigefuegten Bild zaehle ich aber 15 (!) Instanzen von mono/CMX. Wenn tatsaechlich die Anzahl der Instanzen mit der Zeit waechst ist das Verhalten (Speichermangel) nachvollziehbar.
Dann musst Du "nur noch" herauskriegen, wie und warum der Dienst immer wieder zusaetzlich gestartet wird, obwohl er doch schon laeuft ...

Eine moegliche Abhilfe habe ich hier gefunden.
Mit einer zusaetzlichen Zeile in der Dienste-Konfiguration wird (wohl) der Dienst nur gestartet, wenn der Dienst nicht schon laeuft.

Code: Alles auswählen

ExecCondition=/bin/bash -xc '/bin/systemctl is-active --quiet cumulusmx.service && { [[ %i == "main" ]] && exit 255 || exit 1; } || exit 0'
Aber das erklaert nicht das aktuelle Verhalten.
Vielleicht findest Du eine Gesetzmaessigkeit, wann (wenn) es eine neue Instanz gibt?
Vielleicht wird der Dienst per cron alle paar Stunden gestartet?

Oliver
Benutzeravatar
moppedhausi
Offline
Beiträge: 197
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 69 mal
Danksagung erhalten: 7 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#29

Beitrag von moppedhausi »

olicat hat geschrieben: 19 Aug 2023, 01:13
Mit einer zusaetzlichen Zeile in der Dienste-Konfiguration wird (wohl) der Dienst nur gestartet, wenn der Dienst nicht schon laeuft.

Code: Alles auswählen

ExecCondition=/bin/bash -xc '/bin/systemctl is-active --quiet cumulusmx.service && { [[ %i == "main" ]] && exit 255 || exit 1; } || exit 0'
Meine cumulusmx.service sieht im Moment so aus:

Code: Alles auswählen

[Unit]
Description=CumulusMX service
Documentation=https://cumuluswiki.org/a/Main_Page
After=network-online.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/mono-service -d:/opt/CumulusMX CumulusMX.exe -service
Type=forking
ExecStopPost=/bin/rm /tmp/CumulusMX.exe.lock
Restart=always
RestartSec=10


[Install]
WantedBy=multi-user.target

wo soll ich die Zeile einbauen?

Im Moment sieht htop so aus:
htop1.png
htop1.png (193.35 KiB) 544 mal betrachtet
Benutzeravatar
olicat
Offline
Beiträge: 2030
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 28 mal
Danksagung erhalten: 414 mal
Kontaktdaten:

Re: Cumulusmx und Raspberry

#30

Beitrag von olicat »

Moin,

offenbar sind die im htop angezeigten mono's nicht wirklich Instanzen, sondern Threads. Aber die Anzahl wächst. Im letzten Bild zähle ich schon 22 (oder so) - auf jeden Fall mehr als die 15 im Bild von gestern Abend.
Das heißt dann aber auch, dass die zusätzliche Zeile (die müsste unter Service eingetragen werden) nichts bringen dürfte.
Die Zeile mit dem wc -l gibt weiterhin 1 aus?

Eine wachsende Anzahl von Threads bedeutet, dass CMX irgendwelche Aufgaben turnusmäßig ausführt, die aber nicht fertig werden.
Fällt Dir in diesem Zusammenhang etwas ein?

Auf Github gab es im Maerz eine aehnliche Anfrage. Ich gehe bei Dir aber davon aus, dass CMX aktuell ist?

Oliver
Antworten