Fehler #233
Memory-Bedarf des Taskservers steigt kontinuierlich an
0%
Beschreibung
kivitendo 3.4.1 stable
Wir haben festgestellt, dass der Memory-Bedarf jeder einzelnen Taskserver-Instanz laufend ansteigt, solange der Taskserver läuft. Nach einem Neustart des Taskservers sind die Memory-Werte wieder tief.
Da ein Linux-Server ja normalerweise nur in Ausnahmefällen neu gestartet werden muss und es in kivitendo keine eingebaute Funktion gibt, die den Taskserver automatisch in gewissen Intervallen neu startet, führt diese Memory-Belastung auf einem Server mit vielen kivitendo-Instanzen zu einem ernsthaften Performance-Problem.
Als Work-Around kann ein Cronjob eingerichtet werden, der alle Taskserver-Instanzen in regelmässigen Intervallen neu startet.
Ich bin aber der Meinung, dass dieses Problem grundsätzlich gelöst werden sollte, denn von mir aus gesehen gibt es keinen realen Grund, warum der taskserver laufend mehr Memory frisst.
Das Problem von Ticket #208 liegt hier nicht zu Grunde (kivitendo.conf: "session_timeout = 480", → 8 Stunden)
Beispiel mit Werten aus top (VIRT, RES, %MEM):
nach ca. 3 Wochen Laufzeit:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
17920 www-data 20 0 799m 407m 3264 S 0 5.1 26:23.58
task_server.pl
31137 www-data 20 0 736m 397m 3408 S 0 5.0 24:05.32
task_server.pl
32427 www-data 20 0 655m 346m 3732 S 0 4.3 18:33.78
task_server.pl
17585 www-data 20 0 615m 282m 3416 S 0 3.5 17:34.64
task_server.pl
31543 www-data 20 0 570m 290m 3516 S 0 3.6 14:53.82
task_server.pl
...
unmittelbar nach Neustart der task_server:
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
1013 www-data 20 0 229m 91m 3164 S 2 1.1 0:00.62
task_server.pl
1237 www-data 20 0 229m 91m 3164 S 0 1.1 0:00.52
task_server.pl
2010 www-data 20 0 229m 90m 3196 S 0 1.1 0:00.41
task_server.pl
2314 www-data 20 0 229m 90m 3164 S 1 1.1 0:00.17
task_server.pl
2191 www-data 20 0 229m 90m 3196 S 0 1.1 0:00.25
task_server.pl
Historie
Von Jan Büren vor etwa 6 Jahren aktualisiert
- Status wurde von Neu zu Abgewiesen geändert
Das können wir schlecht "fixen".
Die pragmatische Empfehlung hierfür ist, den TaskServer einmal nachts neuzustarten.
Von Bernd Bleßmann vor mehr als 5 Jahren aktualisiert
mit bc2b5fe6f8ceae8fd4135c0e44a5329cc22edfca berücksichtigt der Task-Server das Memory-Limit, das auch für fcgi-Prozesse (Konfig-Datei) gilt.