Seite 3 von 4
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 18:39
von Gyvate
benutzt Du die letzte (jüngste) mono Version ?
schon mal
gefolgt von
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 ....
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 19:03
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 (189.51 KiB) 1288 mal betrachtet
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 19:17
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
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
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 20:01
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 ....
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 20:07
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,
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 20:13
von moppedhausi
olicat hat geschrieben: ↑18 Aug 2023, 19:17
Mach mal bitte ein
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
Re: Cumulusmx und Raspberry
Verfasst: 18 Aug 2023, 20:15
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.
Re: Cumulusmx und Raspberry
Verfasst: 19 Aug 2023, 01:13
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
Re: Cumulusmx und Raspberry
Verfasst: 19 Aug 2023, 06:51
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 (193.35 KiB) 1264 mal betrachtet
Re: Cumulusmx und Raspberry
Verfasst: 19 Aug 2023, 08:11
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