Die CPU-Auslastung in virtuellen Maschinen

Ich habe einen Host-Computer mit 1 logischem Prozessor mit 2,0 GHz und 2 VMs. Jede VM wird mit 100% Auslastung ausgeführt (gemäß Task-Manager in der VM). Mir ist klar, dass dies "100%" nicht genau in dem Sinne ist, dass tatsächlich jede VM etwa 50% der verfügbaren CPU-Ressourcen des Hostcomputers verwendet. Nur wenn ich eines der VMs stoppe, verwendet die laufende VM wirklich 100% der physischen CPU.

Wie funktioniert dieser Prozess? Wenn die physische prozessor läuft bei 2.0 GHz, erstellen wir im Wesentlichen zwei virtuelle Prozessoren, die jeweils bei 1.0 GHz laufen? Wenn wir also 100% Auslastung auf beiden VMs sehen, sprechen wir über 100% von 1,0 GHz auf jedem? Wie wird diese prozentuale Auslastung überhaupt abgeleitet?

Danke!

Author: pauliwago, 2013-08-14

2 answers

Die Nutzung, die Sie in der virtuellen Maschine sehen, ist der Prozentsatz der Zeit, die sie die CPU wollte, ob es es bekam oder nicht. Im Wesentlichen bedeutet 100% 100% der CPU, die dieser virtuellen Maschine zur Verfügung steht.

Wenn der physische Prozessor mit 2,0 GHz läuft, dann 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 100% Auslastung auf beiden VMs sehen, sprechen Sie von jeder VM, die immer als viel CPU, wie es bekommen kann. In der Regel erhalten sie jeweils fast 50% der verfügbaren CPU.

Sag nicht so etwas: "Wenn wir also 100% Auslastung auf beiden VMs sehen, sprechen wir über 100% von 1,0 GHz auf jedem?"Das ist im Grunde Unsinn. Wenn Sie ein Auto benutzen, das jeden zweiten Tag 50 Meilen pro Stunde fährt, beschreiben wir das nicht als 100% von 25 Meilen pro Stunde. Preise funktionieren nicht so. Die CPU verfügt über eine gewisse Kapazität für die Arbeit, und die virtuellen Maschinen teilen sich diese. Wenn jeder will, was er kann get, dann bekommt jeder etwa 50% der CPU-Kapazität, um zu arbeiten. 2,0 GHz ist die core taktrate, nicht die kapazität zu arbeiten. Es macht also keinen Sinn, das zu teilen.

 4
Author: David Schwartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-08-22 19:00:08

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

 1
Author: Gabrie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-08-22 18:12:39