CPU-Auslastung in virtuellen Maschinen

8131
pauliwago

Ich habe einen Host-Computer mit 1 logischem Prozessor, der bei 2,0 GHz läuft, wobei 2 VMs ausgeführt werden. Jede VM wird zu 100% ausgelastet (je nach Task-Manager in der VM). Mir ist klar, dass "100%" nicht genau in dem Sinne korrekt ist, dass jede VM etwa 50% der verfügbaren CPU-Ressourcen der Hostmaschine beansprucht. Nur wenn ich eine der VMs gestoppt habe, würde die ausgeführte VM tatsächlich 100% der physischen CPU verwenden.

Wie funktioniert dieser Prozess? Wenn der physische Prozessor mit 2,0 GHz läuft, erstellen wir im Wesentlichen zwei virtuelle Prozessoren, die jeweils mit 1,0 GHz laufen? Wenn wir also auf beiden VMs eine Auslastung von 100% sehen, sprechen wir von jeweils 100% von 1,0 GHz. Wie leitet sich diese prozentuale Nutzung überhaupt ab?

Vielen Dank!

1

2 Antworten auf die Frage

3
David Schwartz

Die Nutzung, die Sie in der virtuellen Maschine sehen, ist der Prozentsatz der gewünschten Zeit für die CPU, unabhängig davon, ob sie die CPU hat oder nicht. Im Wesentlichen bedeuten 100% 100% der für diese virtuelle Maschine verfügbaren CPU.

Wenn der physische Prozessor mit 2,0 GHz läuft, tun dies auch die virtuellen Prozessoren. Da es jedoch nur einen tatsächlichen Kern gibt, kann jeweils nur einer der virtuellen Prozessoren ausgeführt werden. Wenn Sie auf beiden VMs eine Auslastung von 100% sehen, sprechen Sie davon, dass jede VM immer so viel CPU benötigt, wie sie kann. In der Regel erhalten sie jeweils fast 50% der verfügbaren CPU.

Sagen Sie nichts davon: "Wenn wir also auf beiden VMs eine Auslastung von 100% sehen, sprechen wir von jeweils 100% von 1,0 GHz?" Das ist im Grunde Unsinn. Wenn Sie ein Auto benutzen, das jeden zweiten Tag 50 Meilen pro Stunde fährt, wird dies nicht als 100% von 25 Meilen pro Stunde bezeichnet. Preise funktionieren nicht so. Die CPU hat etwas Kapazität, um zu arbeiten, und die virtuellen Maschinen teilen sich das. Wenn jeder alles will, was er bekommen kann, erhält jeder rund 50% der CPU-Kapazität für die Arbeit. 2,0 GHz ist die Kerntaktrate, nicht die Kapazität, um zu arbeiten. Es macht also keinen Sinn, das zu teilen.

1
Gabrie

Auf einem physischen CPU-Kern kann jeweils nur eine VM ausgeführt werden. Der VMkernel schaltet den CPU-Kern sehr schnell zwischen den VMs um. Für Sie sieht es so aus, als würden sie auf derselben CPU gleichzeitig laufen.