Page 1 of 1
100% Auslastung eines Prozessorkerns
Posted: Sun Jun 02, 2024 3:35 am
by fuddl
Hallo,
RailControl lastet einen Prozessorkern vollständig aus, auch wenn man weder Webinterface, noch die Bahn gerade benutzt.
System:
Debian GNU/Linux amd64 bookworm
Z21-kompatible mXion MZSPro Zentrale
Dauerhaft zeigt mir top an:
Code: Select all
PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL
5024 fuddl 20 0 681732 10456 6612 R 100,0 0,3 17:50.71 RailControl
Ich würde erwarten dass die Last deutlich unter 100% liegt. Mache ich etwas falsch?
Re: 100% Auslastung eines Prozessorkerns
Posted: Sun Jun 02, 2024 5:58 am
by fuddl
Abhilfe gefunden.
Ursache scheint zu sein dass stdin auf /dev/null in einer systemd Service-Umgebung abgebildet wird, in Kombination mit railcontrol ohne --daemonize Option.
Ich umgehe das Problem in meiner railcontrol.service mit
[…]
ExecStart=/usr/bin/railcontrol --config /home/fuddl/railcontrol.conf --daemonize
Type=forking
[…]
Re: 100% Auslastung eines Prozessorkerns
Posted: Sun Jun 02, 2024 6:57 pm
by teddy
Hallo
RailControl sollte standardmässig das System nur minimalst auslasten, denn RailControl wurde explizit für schmalspurige Rechner konzipiert.
In interpretiere, dass du RailControl gleich mit in den Systemstart einbinden möchtest. Wie du selbst herausgefunden hast, gibt es dafür die Option --daemonize. Damit wird stdin nicht mehr verwendet, ebenso werden keine Ausgaben mehr auf stdout gemacht.
Gruss
Teddy
Re: Fixed: 100% Auslastung eines Prozessorkerns
Posted: Fri Jun 07, 2024 7:23 pm
by _DB_
Hallo Teddy, hallo fuddl,
ich hatte das Problem ebenfalls - mit RailControl auf einem Rasberry Pi ZERO 2, auf einem Mac, auf einem Win 11-PC.
Die 100%-Last eines Prozessors rührte daher, daß als Zentrale eine nicht vorhandene USB-Schnittstelle ausgewählt wurde. Sobald die Schnittstelle unter Zentrale korrekt eingestellt wurde, sank die Prozessorlast auf die erwarteten 0% + ein bisschen mehr (unter htop ist die Einstellung zu grob - maximal beobachteter Peak war < 5%).
Diese Beobachtung gilt umgekehrt, wenn einer vorhandenen Zentrale (in meinem Fall DCC-EX) wieder ein falsches USB-device zugeordnet wird. Sofort springt die Last eines Prozessors auf 100% konstant.
Viele Grüße aus Herne - Detlef
Re: 100% Auslastung eines Prozessorkerns
Posted: Sat Jun 08, 2024 6:04 am
by fuddl
teddy wrote: Sun Jun 02, 2024 6:57 pm
Hallo
RailControl sollte standardmässig das System nur minimalst auslasten, denn RailControl wurde explizit für schmalspurige Rechner konzipiert.
In interpretiere, dass du RailControl gleich mit in den Systemstart einbinden möchtest. Wie du selbst herausgefunden hast, gibt es dafür die Option --daemonize. Damit wird stdin nicht mehr verwendet, ebenso werden keine Ausgaben mehr auf stdout gemacht.
Hallo Teddy,
danke für die Antwort. Du interpretierst richtig, ich habe einen systemd Service für meinen Benutzer angelegt und der Service startet railcontrol beim Systemstart. Mit --daemonize funktioniert das auch ohne einen zu 100% ausgelasteten Prozessorkern.
Re: Fixed: 100% Auslastung eines Prozessorkerns
Posted: Sat Jun 08, 2024 6:07 am
by fuddl
_DB_ wrote: Fri Jun 07, 2024 7:23 pm
Hallo Teddy, hallo fuddl,
ich hatte das Problem ebenfalls - mit RailControl auf einem Rasberry Pi ZERO 2, auf einem Mac, auf einem Win 11-PC.
Die 100%-Last eines Prozessors rührte daher, daß als Zentrale eine nicht vorhandene USB-Schnittstelle ausgewählt wurde. Sobald die Schnittstelle unter Zentrale korrekt eingestellt wurde, sank die Prozessorlast auf die erwarteten 0% + ein bisschen mehr (unter htop ist die Einstellung zu grob - maximal beobachteter Peak war < 5%).
Diese Beobachtung gilt umgekehrt, wenn einer vorhandenen Zentrale (in meinem Fall DCC-EX) wieder ein falsches USB-device zugeordnet wird. Sofort springt die Last eines Prozessors auf 100% konstant.
Viele Grüße aus Herne - Detlef
Hallo Detlef,
dieses Problem war es in meinem Fall nicht. Auf meinem System stammt es von der Verknüpfung von /dev/stdin -> /dev/null
ohne --daemonize in einem systemd.service.
Re: Fixed: 100% Auslastung eines Prozessorkerns
Posted: Mon Jun 10, 2024 6:00 am
by teddy
_DB_ wrote: Fri Jun 07, 2024 7:23 pm
Diese Beobachtung gilt umgekehrt, wenn einer vorhandenen Zentrale (in meinem Fall DCC-EX) wieder ein falsches USB-device zugeordnet wird. Sofort springt die Last eines Prozessors auf 100% konstant.
Hallo zusammen
Ich muss dem mal nachgehen. Das sollte auch behoben werden können.
Gruss
Teddy