한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game-Lag-Whitepaper › L7 Server-OS (Kernel)

CPU-Steal (virtuelle Maschine) CPU steal time

Ursachen-ID so-steal · Hauptzuständig Server-Infrastruktur (Infrastrukturteam) · Beteiligt Extern (Extern)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

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

Symptome
Ruckeln, Freeze
Faktoren
Stillstand
Wer ist betroffen
Ganzer Server
Wann
Gelegentlich, zufällig
Zuständigkeit
Hauptzuständig Server-Infrastruktur (Infrastrukturteam) · Beteiligt Extern (Extern)
Aufgaben Infrastrukturteam
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

  1. proc_stat(5) — Linux manual page Linux man-pages
    steal: Zeit, die in virtualisierten Umgebungen verloren geht, weil ein anderes Betriebssystem ausgeführt wird
  2. Standard mode for burstable performance instances AWS
    Burstable-Instanzen überschreiten die Basisleistung mit Credits, sind die Credits aufgebraucht, sinkt die CPU-Auslastung auf das Basisniveau
  3. How EC2 instance stop and start works AWS
    Wird eine Instanz gestoppt und wieder gestartet, landet sie meist auf einem neuen Host
  4. mpstat(1) — Linux manual page sysstat
    %steal: Anteil der Zeit, in der diese virtuelle CPU zwangsweise warten musste, während der Hypervisor eine andere virtuelle CPU bediente

Verwandte Ursachen

Gleiche Schicht: L7 Server-OS (Kernel)

Ursachen aus anderen Schichten mit demselben Symptom (Ruckeln)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen