Docker container Very high CPU Usage on VPS compared to RS

  • Hello,


    Wondering if someone can assist, I've raised a support request but not heard anything.


    I have three servers with netcup, two are RS models and one is a VPS. They all run very identical docker containers (game servers). The docker containers on the two RS models have very stable CPU usage (rarely spiking above 40%) however on the VPS the CPU usage for the docker containers can spike up to 100% down to 20%, average around 50% but keep spiking up very high for periods of time. Is this just down to the VPS and its resource?:?:

  • With VPS you do not have guaranteed resources and your neighbours on the same host are probably creating too much noise. Check your steal value with top and it might explain the spikes.


    Sometimes you don't have any steal at all and sometimes 50-60%, which I would still consider normal for a VPS. That's usually why a RS is recommended when running gameservers. If the performance is fine you could just ignore the spikes maybe :)

  • That would make sense. Good pointer on the steal value.


    When my docker containers CPU spike the steal value is anywhere between 0.5 - 1. When the steal value rises it directly relates to when all the docker containers CPU spike.

  • Maybe the spike is too short to accurately show the steal since 1% is negligible actually.


    I always test it by opening as many SSH sessions as I have cores and run the command yes > /dev/null which creates a thread with 100% utilization. Then in another free SSH session I run top and immediately see the steal. I tested it just now with a VPS 200 and got a steal of 33. :)


    Don't forget to stop it right after to be fair to others. :P

  • I always test it by opening as many SSH sessions as I have cores and run the command yes > /dev/null which creates a thread with 100% utilization.

    Damit man sich nicht mehrere Male an seinem Server per SSH anmelden muß, kann man den Befehl auch wie folgt ausführen:

    Code
    nohup yes > /dev/null &


    Mit dem Zeichen & am Ende des Befehls schickt man seinen Befehl in den Hintergrund und nohup ist für den Fall, falls die Verbindung zum Server abbrechen sollte.

  • Steal goes up to 15% when loading all 16 cores, interestingly when I do that the CPU settles nicely on my docker containers :P

    Hmm, doesn't sound too bad actually. No idea if that is already enough to cause issues, sorry :(


    Damit man sich nicht mehrere Male an seinem Server per SSH anmelden muß, kann man den Befehl auch wie folgt ausführen:

    Code
    nohup yes > /dev/null &


    Mit dem Zeichen & am Ende des Befehls schickt man seinen Befehl in den Hintergrund und nohup ist für den Fall, falls die Verbindung zum Server abbrechen sollte.

    Damit läuft man dann aber auch Gefahr, dass man den Prozess im Hintergrund vergisst ^^ Mir würde es jedenfalls so gehen :S