Hyper-V CPU richtig monitoren

Wie behalte ich den Überblick über die CPU Auslastung meiner virtuellen Maschinen? Diese Frage wird immer und immer wieder gestellt und sehr oft falsch beantwortet. Deswegen möchte ich hierzu mal ein paar Zeilen schreiben um die Missverständnisse dazu etwas aus dem Weg zu räumen.

 

Der häufigste Fehler:

Man bekommt eine Meldung, dass die virtuellen Maschinen ziemlich langsam laufen und sie keine CPU-Ressourcen mehr haben. Man öffnet darauf hin den Taskmanager und schaut sich die CPU-Auslastung des Systems an, was sich in den meisten Fällen wie folgt darstellt:

hvcpu

Die CPU-Auslastung liegt in diesem Fall bei gerade mal 4%. Schnell kommt man zu dem Schluss, dass es keine CPU-Probleme auf dem System gibt, aber das ist leider weit gefehlt.

 

Hintergrundinformationen:

Um zu wissen, was man wirklich monitoren muss, sind ein paar Hintergrundinfos notwendig, die aus dem folgenden Schaubild recht deutlich werden:

hvarchitecture

Dort sieht man die Architektur eines Hyper-V Systems. Die Parent-Partition ist das “Betriebssystem” des Virtualisierungshosts und die Child-Partitions spiegeln die virtuellen Maschinen, also die Gäste wieder. Wie man deutlich sieht, ist die Parent-Partition auch oberhalb des Hypervisors angesiedelt. In Konsequenz bedeutet dies, dass die Parent-Partition im Prinzip nichts anderes ist, als eine weitere virtuelle Maschine auf dem Hypervisor. Die Parent-Partition hat zwar ein paar zusätzliche Aufgaben, ist aber aus Hypervisor-Sicht eine VM wie jede andere auch.

Wenn man also auf der Parent-Partition den Taskmanager öffnet um die CPU Auslastung zu sehen, schaut man sich lediglich die CPU-Auslastung der VM “Parent-Partition” an. Wenn die restlichen virtuellen Maschinen eventuell unter 100% CPU-Last stehen, bekommt die Parent-Partition nichts davon mit. Deswegen ist es extrem wichtig, dass man sich die richtigen Werte ansieht um eine verlässliche Aussage zum System zu treffen.

 

Perfmon kann alles:

Man kann gerade im Monitoring-Bereich eine Menge Geld ausgeben, aber manchmal liegt das Gute so nah. Das im System befindliche Perfmon ist ein extrem mächtiges Werkzeug, welches sehr tief in das System vorstoßen kann um eben auch verlässliche Informationen über die richtige CPU-Auslastung zu geben. Man muss es nur richtig bedienen.

 

Welche Counter sind die richtigen:

Eigentlich reichen 3 Counter um einen verlässlichen Überblick über das System zu bekommen.

1. die CPU Auslastung der Parent Partition

Den Punkt habe ich schon angesprochen. Die Parent-Partition sagt zwar nichts über die VMs aus, aber wenn es der Parent-Partition schlecht geht, ist das sicherlich für das restliche System von Nachteil. Deswegen sollte man sie auf jeden Fall mit überwachen. Hierzu sind im Perfmon folgende Counter auszuwählen:

hvcpuperfmon

 

2. Die Gesamtauslastung aller virtuellen Maschinen

Mit dem folgenden Counter verschafft man sich einen Überblick über die Gesamtauslastung aller virtuellen Maschinen mit Ausnahme der Parent-Partition. Dies ist sehr hilfreich um den gesamten Health-Status der VMs einsehen zu können:

hvvptotalperfmon

 

3. Die Auslastung einer spezifischen virtuellen Maschine

Mit diesem Counter hat man die Möglichkeit jede einzelne CPU in einer virtuellen Maschine zu monitoren. Für eine virtuelle Maschine mit 4 virtuellen CPUs gibt es also 4 Counter. Hiermit hat man die Möglichkeit sehr tief ins System zu schauen. Auf dem folgenden Screenshot ist ein Beispiel mit 4 virtuellen CPUs zu sehen:

hvvpeachperfmon

 

Die Auswertung:

Hat man sich alle Counter zusammengesucht und lässt sich diese entsprechend anzeigen, erhält man eine brauchbare Übersicht über sein Gesamtsystem:

hvperfmongrafik

roter Balken: CPU der Parent-Partition

grüner Balken: CPU aller VMs zusammen

blauer, gelber, brauner, lila Balken. Die 4 CPUs einer ausgewählten VM

 

Ab jetzt sollte somit jeder in der Lage sein, die CPUs seines Hyper-V Systems ordentlich zu monitoren. Demnächst werde ich noch einen Artikel zu RAM und Netzwerk schreiben, denn auch in diesem Bereich kann man viele Fehler machen.

One thought on “Hyper-V CPU richtig monitoren

  1. „Demnächst werde ich noch einen Artikel zu RAM und Netzwerk schreiben, denn auch in diesem Bereich kann man viele Fehler machen“

    Da bin ich schon lange neugierig. RAM-Monitoring ist bei Hyper-V wohl eine schwierige Sache. Gibt es da empfehlenswerte Tools???

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.