Erläuterung, wie die CPU-Auslastung von VMWare VM berechnet wird

3390
zeroflag

In erster Linie habe ich zwei Fragen zur CPU-Nutzung von VMware / virtuellen Maschinen:

  • Wie wird es berechnet?
  • Auf welche Zahlen unter welchen Registerkarten des Fensters vCenter (vSphere-Client) wird verwiesen?

Bitte klären Sie auch, ob mein unten zusammengefasstes Verständnis richtig ist oder nicht.

Q1

Bitte klären Sie, ob das folgende Verständnis von mir richtig ist oder nicht:

  1. eine physikalische CPU entspricht nämlich einem Kern (eingebettet in einen CPU-Sockel)
  2. Eine VM-Maschine (oder ein Gastbetriebssystem) erkennt / behandelt ihre CPUs immer auf virtueller CPU-Ebene (eine virtuelle CPU wird nachstehend als vCPU bezeichnet).
  3. Eine vCPU wird auch als logische CPU (oder Prozessor) bezeichnet, ein Synonym zueinander.
  4. Wenn HT NICHT aktiviert ist, ist 1 vCPU = 1 physische CPU (oder 1 Kern).
  5. Wenn HT aktiviert ist, erzeugt 1 Core 2 Threads, und 1 Thread sieht aus wie / fungiert als vCPU, die von einem VM-Computer aus gesehen wird. In einem Wort stellt 1 Core 2 vCPUs bereit.

Q2

Die Berechnung der CPU-Auslastung entweder für eine VM-Maschine, einen Host oder einen Host-Cluster ist einfach, indem Sie einfach A / B berechnen, wobei A - Verwendungsmenge, B - Gesamtkapazität.

Die Frage ist: Wo kann man bei einer VM-Maschine Informationen über A und B finden? Welche Registerkarten, welche Metriken / Zähler im vCenter-Fenster?

Daten

Nachfolgend sind möglicherweise relevante Elemente aufgeführt (Daten eines realen VM-Systems). Bitte zeigen Sie mir, welches A ist, welches B:

Under Summary tab of a VM machine ("V-mch"):  ** General section ** Guest OS: MS Windows Servers 2008 CPUs: 2 vCPU Memory: 4096 MB ....... Host: "hst"  ** Resource section ** Consumed host CPU: 43 MHz Consumed host memory: 4149.00 MB Active guest memory: 327.00 MB  Under Summary tab of the host "hst" ("V-mch" is attached to):  ** General section ** Maker: Dell Inc. Model: PowerEdge M620 CPU core: 20 CPUs x 2.199 GHz Processor type: Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20 GHz  Processor socket: 2 Cores per socket: 10 Logical processors: 40 Hyper threading: valid (enabled)  ** Resource section ** CPU used amount: 9016 MHz Capacity: 20 x 2.199 GHz 

Stimmt meine folgende Vermutung, woher die Informationen A und B stammen?

A - Consumed host CPU: "43MHz" B - CPUs: "2vCPU" + Capacity: .. "2.199GHz" 

Vielen Dank, dass Sie den ausführlichen Text durchgelesen und beraten haben.

2
Bitte stellen Sie nicht mehrere Fragen gleichzeitig. Dies ist nicht für das Stack Exchange-QA-Format geeignet. Daniel B vor 7 Jahren 0

2 Antworten auf die Frage

0
Seth

Diese Frage scheint ein Durcheinander zu sein und das Original wurde aus einem anderen Format eingefügt. Versuchen Sie also, die Formatierung weiter zu verbessern, und versuchen Sie, ein klares Verständnis dessen zu bekommen, was Sie eigentlich fragen.

Frage 1

  1. Eine physische CPU ist eine CPU mit allen Kernen.
  2. Ja, während Technologien wie VT verwendet werden könnten, um einen direkteren Zugriff auf die Hardware zu ermöglichen.
  3. Eine logische CPU ist ein allgemeinerer Begriff.
  4. Ja, aber HT ist eine separate Technologie. Sie können mehrere CPUs pro VM und mehrere Kerne pro Socket pro VM einrichten. Soweit ich weiß, wäre dies unabhängig vom Gastgeber.
  5. Siehe 4.

Frage 2

Sie müssen entscheiden, in welcher Relation Sie die CPU-Auslastung anzeigen möchten. Möchten Sie den Prozentsatz der Nutzung für den Host oder Gast angeben? Abhängig davon Bwürde sich Ihr ändern.

Sie haben das richtig Aund Bwürden die Zahlen sein, die Sie brauchen. Sie können jedoch entweder den CPU-Verbrauch als Summe der verfügbaren Leistung für den Host oder die VM anzeigen. Bwäre die Anzahl der Kerne mal die maximale Frequenz eines Kerns. Je nachdem, wann Sie die Informationen in Bezug auf den Cluster als Ganzes oder für eine einzelne VM wünschen, verwenden Sie entweder die Anzahl der Kerne der VM oder des Hosts. Letzteres könnte interessant sein, um die VMs zu finden, die den Host derzeit am stärksten belasten.

Für einzelne VMs steht unter Monitor=> ein Diagramm zur Verfügung Performance, das die Anzahl der Kerne pro VM verwendet. Für jedes Standarddiagramm und einige der verwendeten Daten ist eine Dokumentation verfügbar.

Für einen Host können Sie diese Informationen auf derselben Registerkarte anzeigen, Sie müssen jedoch einen einzelnen Host anstelle einer VM auswählen. Für einen ganzen Cluster sieht es nicht so aus, als gäbe es einen Standard-Prozent-Graphen, sondern nur einen absoluten Zahlenwert für die Verwendung als Gesamtwert (wieder verfügbar über dieselben Registerkarten).

In Bezug auf die Regel "Eine Frage einmal stellen" kann ich das nächste Mal tun. Auch wenn die Formatierung nicht so gut ist wie erwartet, ist die Beschreibung der Fragen nicht eindeutig? Ich bezweifle. Wie bei Ihrer Antwort auf Q2, notieren Sie sich bitte den Titel oben, bei dem ich eindeutig angegeben habe, dass es sich um die CPU-Auslastung einer "VM-Maschine" (also nicht als Host!) Handelt. zeroflag vor 7 Jahren 0
Die CPU-Auslastung der VM-Maschine beträgt "43 MHz". Sie möchten dies in Bezug auf eine Gesamtsumme anzeigen, und diese Relation kann entweder die gesamte CPU-Leistung Ihrer VM oder Ihres Hosts sein. Seth vor 7 Jahren 0
Was Ihre Fragen und ihre Klarheit angeht: Sie beginnen mit zwei Fragen, anschließend mit einer Frage, die zur Überprüfung von 5 Unterpunkten auffordert, und anschließend eine andere Frage, die zwei Punkte enthält, und schließlich ein Datenkapitel mit einer anderen Frage. Einige von ihnen haben die gleiche Antwort und andere nicht. Ihre Frage im Datenteil wäre wahrscheinlich Teil Ihrer zweiten Frage. Außerdem zeigt die Verwendung von "**", dass Sie die verfügbaren Formatierungsoptionen nicht kennen. Seth vor 7 Jahren 0
Danke Seth für das Update, aber es ist immer noch nicht klar genug - anscheinend meine ich eine Menge als Prozentsatz (%), deshalb habe ich es als A / B angegeben. Jetzt ist klar A = 43MHz, aber was ist mit B? Richtig, B ist ein Gesamtbetrag. Sie haben hinzugefügt, dass "entweder die gesamte CPU-Leistung Ihrer VM oder Ihres Hosts" ist, welche auf der Erde? Nach der Antwort von Fugen scheint diese Summe die von "Host" und nicht von "VM" zu sein. zeroflag vor 7 Jahren 0
Es könnte entweder sein. Es hängt davon ab, was Sie sich gerne anschauen. Ein Prozentsatz in Bezug auf die Leistung (wahrscheinlicher was Sie wollen und in der Regel der Standardwert) ist schön und nett, aber wenn Sie Ihren aktuellen Status des Clusters als Ganzes betrachten, sind diese Informationen ziemlich nutzlos. Auf dem dritten Screenshot mit den Grafiken (von Muh Fugen) können Sie außerdem sehen, dass jede Grafik ein Fragezeichen hat. Wenn Sie darauf klicken, würden Sie am Ende [in der Dokumentation] (https://pubs.vmware.com/vsphere-60/topic/com.vmware.vsphere.monitoring.doc/GUID-FC93B6FD-DCA7-4513-A45E- 660ECAC54817.html) für diesen Graphen. Seth vor 7 Jahren 0
== Update 1 == Seth, danke für die Ausarbeitung. Ihr Punkt (wichtig!) Ist, warum Sie zwei Optionen für B hatten: "Kann entweder die verfügbare Leistung von VM (1) oder von Host (2) sein", ist entweder sinnvoll, je nachdem, was Sie sehen möchten! Nun, ich möchte B auf dieselbe Weise auswählen, wie vCenter es für CPU-Auslastungsdiagramme (%) einer VM berechnet. Sie haben es tatsächlich auch beantwortet - "Für einzelne VMs ist unter Monitor => Performance ein Diagramm verfügbar, das die Anzahl der Kerne pro VM "- bedeutet, dass vCenter über (1) für B statt (2) (rechts?) verwendet wird. zeroflag vor 7 Jahren 0
== Update 2 == Mein letztes Ziel ist, wie von Fugen erwähnt, Informationen durch Abfragen an die Datenbank zu erhalten und die Daten in Excel zu exportieren. Dafür wollte ich ein klares Verständnis über Zähler, Beziehungen und deren Berechnung usw. erhalten. zeroflag vor 7 Jahren 1
0
Muh Fugen

Da Seth Frage 1 bereits beantwortet hat, werde ich eine Antwort auf # 2 geben. Wenn Sie in der vSphere-Webkonsole auf den Host oder das Cluster klicken, können Sie die Gesamtkapazität (Metrik B in Ihrer Frage) auf der Registerkarte Zusammenfassung bestimmen. Auf meinem System sind es 43,98 GHz. Wenn Sie die virtuelle Maschine auswählen, können Sie auf der Registerkarte Zusammenfassung festlegen, wie viele CPU-Zyklen pro Sekunde (Metrik A) verwendet werden. Auf meiner Cisco vWLC-VM sind es 43 Mhz. Wenn Sie außerdem die VM auswählen, klicken Sie auf die Registerkarte Überwachen. Wenn Sie die CPU-Auslastung (Mhz) anzeigen, können Sie die historische CPU-Auslastung in Mhz über die Zeit anzeigen. Sie sollten diese Informationen auch durch Abfragen der SQL-Datenbank ermitteln können.

Dank Fugen für die Antwort, Ihre Antwort hat meine Vermutung zu "A" in den ursprünglichen Fragen bestätigt: A = 43MHz, während B der größte verwirrende Punkt ist: Sie haben tatsächlich vorgeschlagen, dass B die gesamte CPU-Kapazität von "Host" ist, die sich von unterscheidet Was ich dachte, es sei - Ich dachte, B sollte eine Gesamtmenge sein, die "(zu VM)" zugewiesen "wurde, und wurde wie folgt berechnet:" Anzahl der vCPUs (angegeben bei der VM-Erstellung, wie auf der Registerkarte "Zusammenfassung" einer VM) x Anzahl von MHz ". zeroflag vor 7 Jahren 0