Während der physische Server (Hypervisor) die CPU-Zeit einer virtuellen Maschine kurz an eine andere VM vergibt (CPU-Steal), steht der Spielserver still.
Warum Andere VM auf demselben Host verbraucht viel CPU → Folge Eigene VM kommt immer wieder für einige bis einige Dutzend ms nicht zum Zug → Auf dem Bildschirm Unerklärliche Sprünge der Tick-Zeit: Ruckeln und Freezes
Steal-Metrik überwachen (st in top und vmstat), dedizierte Kerne oder Hosts nutzen, Burstable-Instanzen meiden, die nach aufgebrauchten CPU-Credits langsamer werden, Instanzen mit dauerhaft hohem Steal stoppen und neu starten, damit sie auf einen anderen Host wechseln.
Aufgaben Extern
Hosts mit dauerhaft hohem Steal an den Cloud-Anbieter melden.
Im Graphen
Vereinzelte Spitzen ohne Muster · %steal, Server-Tick-Zeit
Wo nachsehen
%steal aus mpstat -P ALL 1 auf derselben Zeitachse wie die Server-Tick-Zeit darstellen
Spricht dafür
Zu den Tick-Spitzen schlägt auch %steal aus, nach Stoppen und Neustart auf einem anderen Host geht der Wert zurück
Spricht dagegen
%steal nahe 0, Tick springt trotzdem: Ursache im Spielserver selbst („Stop-the-World-GC-Pause auf dem Server“, „Lock-Contention“). Im Container: „CPU-Throttling im Container (CFS-Quota)“
Prüfmittel
Mit Infrastruktur-Tools prüfbar (ohne Spielcode)
Quellen
proc_stat(5) — Linux manual pageLinux man-pages steal: Zeit, die in virtualisierten Umgebungen verloren geht, weil ein anderes Betriebssystem ausgeführt wird
mpstat(1) — Linux manual pagesysstat %steal: Anteil der Zeit, in der diese virtuelle CPU zwangsweise warten musste, während der Hypervisor eine andere virtuelle CPU bediente