GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erhalten Sie virtuelle/physische CPU-Informationen in Oracle VM (XEN)

In diesem Beitrag wird erläutert, wie Sie die virtuelle oder physische CPU-Auslastung eines Oracle VM-Servers abrufen, einschließlich der tatsächlichen CPU-Auslastung und Laufzeit von Gastdomänen. Gastspezifische (Dom-U) CPU-Auslastung kann zum Beispiel durch Ausführen von Befehlen auf dem Gast selbst abgerufen werden; top, ps und sar.

Wenn Sie jedoch eine bestimmte CPU-Auslastung erhalten möchten, einschließlich der der Oracle VM Server-Verwaltungsdomäne/des Hypervisors (Dom-0), stehen die folgenden xen-tools-Dienstprogramme zur Ausführung auf dem Oracle VM-Server zur Verfügung:

  • /usr/sbin/xentop -v
  • /usr/sbin/xenmon.py

1. xentop

Der Befehl xentop -v zeigt virtuelle CPU-Informationen an, z. B.:

# xentop -v
6 domains: 2 running, 3 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown 
Mem: 8312440k total, 6212448k used, 2099992k free    CPUs: 2 @ 2128MHz 
      NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR SSID 
4461_EL5U3 ------      53060    0.0    1056636   12.7    1064960      12.8     1    0        0        0    3        0        0        0    0 
VCPUs(sec):   0:      53060s 
4474_EL5U2 ------      45070    0.0    1056636   12.7    1064960      12.8     2    0        0        0    2        0        0        0    0 
VCPUs(sec):   0:      32213s  1:      12857s 
4516_EL4U6 -----r     512039    0.0    1056636   12.7    1064960      12.8     1    0        0        0    2        0        0        0    0 
VCPUs(sec):   0:     512039s 
4570_EL464 --b---        302    0.0    2097152   25.2    2097152      25.2     1    1       10   218297    1        0    22371    16768    0 
VCPUs(sec):   0:        302s 
  Domain-0 -----r      87787    0.0     254976    3.1   no limit       n/a     2    8  1717873  4158394    0        0        0        0    0 
VCPUs(sec):   0:      57819s  1:      29968s 
4511_EL564 --b---        108    0.0     524288    6.3     524288       6.3     2    1      342   214623    1        0      822        1    0 
VCPUs(sec):   0:         96s  1:         12s

Im obigen Beispiel verwenden die Domänen Domain-0, 4474_EL5U2 und 4511_EL564 jeweils zwei virtuelle CPUs, während alle anderen nur eine virtuelle CPU verwenden. Domäne Domäne-0 verwendet eine Gesamt-CPU-Zeit von 87787 Sekunden; 57.819 Sekunden auf VCPU0 und 29.968 Sekunden auf VCPU1.

Xentop-Nutzung:

Usage: xentop [OPTION] 
Displays ongoing information about xen vm resources

-h, --help           display this help and exit 
-V, --version        output version information and exit 
-d, --delay=SECONDS  seconds between updates (default 3) 
-n, --networks       output vif network data 
-x, --vbds           output vbd block device data 
-r, --repeat-header  repeat table header before each domain 
-v, --vcpus          output vcpu data 
-b, --batch          output in batch mode, no user input accepted 
-i, --iterations     number of iterations before exiting
-f, --full-name     output the full domain name (not truncated)         # Note: this can be used from the latest version of Oracle VM Server 2.2.2

Die Parameter bedeuten:

Parameter Bedeutungen
CPU (Sek.) CPU-Zeit, die das Gastbetriebssystem verbraucht hat (kumuliert)
CPU(%) „CPU-Prozentsatz, den das Gastbetriebssystem derzeit verbraucht. Hinweis 1:Dies wird berechnet als CPU (%) =Tatsächlich zugewiesene CPU-Nummer * Tatsächliche CPU-Auslastung auf dem Gastbetriebssystem (0-100 %). Dies kann also bis zu 300 % betragen, wenn dem Gastbetriebssystem 3 CPUs zugewiesen sind. „“Actuall Assigned CPU#““ ist nicht die dem Gastbetriebssystem zugewiesene virtuelle CPU-Nummer, sondern die dem Gastbetriebssystem zugewiesene tatsächliche CPU-Nummer, da sie bis zu 200 % betragen sollte, wenn die physischen CPU-Kerne 2 sind, selbst wenn VCPUs zugewiesen sind Gastbetriebssysteme sind 3 oder mehr. Hinweis 2:Am 1. xentop-Ausgang ist dies immer 0,0 %, da dies durch Teilen des Intervalls der Aktualisierungen berechnet wird. Daher muss die Option „“-i““ auf 2 oder mehr gesetzt werden, um die korrekte CPU (%) zu erhalten. Hinweis 3:Dies zeigt nur die CPU-Auslastung auf dem Host-Betriebssystem für die Gast-Betriebssysteme, daher kann sich diese von der CPU-Auslastung (z. B. die „oben“ zeigt) auf den Gast-Betriebssystemen unterscheiden.“
MEM(k) Speichergröße in KByte, die das Gastbetriebssystem auf dem Hostbetriebssystem belegt. Für Domain0 ist dies der gleiche Wert von dom0_mem=, der in /etc/grub.conf des Hostbetriebssystems angegeben ist, und auch der gleiche Wert von „memory =“ in vm.cfg für das Gastbetriebssystem. ex. dom0_mem=1024M zeigt 1048576(kB) für MEM(k) für das Host-Betriebssystem.
MEM(%) Speichergröße in Prozent, die das Gastbetriebssystem auf dem Hostbetriebssystem belegt
MAXMEM(k) Maximale Speichergröße in KB, die das Gastbetriebssystem auf dem Hostbetriebssystemspeicher belegen kann
MAXMEM(%) Maximale Speichergröße in Prozent, die das Gastbetriebssystem auf dem Hostbetriebssystemspeicher belegt
VCPUS Virtuelle CPU-Nummer, die dem Gastbetriebssystem zugewiesen ist
NETS Virtuelle Netzwerkschnittstellennummer, die dem Gastbetriebssystem zugewiesen ist
NETTX(k) Netzwerkverkehr in KByte, den das Gastbetriebssystem sendet (kumuliert)
NETRX(k) Netzwerkverkehr in KByte, den das Gastbetriebssystem empfängt (kumuliert)
VBDS Nummer des virtuellen Blockgeräts (=Speicher), die dem Gastbetriebssystem zugewiesen ist
VBD_OO blockierte Anzahl von E/A vom/zum Gastbetriebssystem
VBD_RD Anforderungsnummer vom Gastbetriebssystem lesen (kumuliert)
VBD_WR Anforderungsnummer vom Gastbetriebssystem schreiben (kumuliert)
VBD_RSECT Sektornummer aus dem Gastbetriebssystem lesen (kumuliert), altes Xentop zeigt dies nicht an
VBD_WSECT Sektornummer vom Gastbetriebssystem schreiben (kumuliert), altes Xentop zeigt dies nicht
SSID Nicht zutreffend

2. Xenmon.py

Der Befehl xenmon.py zeigt spezifische physische CPU-Informationen an, z. B.:

# /usr/sbin/xenmon.py
CPU = 0        Last 10 seconds (99.80%)                              Last 1 second (99.72%) 
 =============================================================================================================================================================================== 
  1   13.98 ms    1.40%       14.57 us/ex       10.40 ms    1.04%       14.00 us/ex       Gotten 
  1   456.93 ms   45.69%      0.00 ns/io        349.26 ms   34.93%      0.00 ns/io        Blocked 
  1   486.25 ms   48.63%      506.85 us/ex      36.53 ms    3.65%       49.15 us/ex       Waited 
  0   40.33 ms    4.03%       101.06 us/ex      69.70 ms    6.97%       177.92 us/ex      Gotten 
  0   588.45 ms   58.84%      0.00 ns/io        581.26 ms   58.13%      0.00 ns/io        Blocked 
  0   17.87 ms    1.79%       44.77 us/ex       37.90 ms    3.79%       96.75 us/ex       Waited 
  28  26.00 ms    2.60%       16.02 us/ex       20.30 ms    2.03%       14.22 us/ex       Gotten 
  28  611.88 ms   61.19%      0.00 ns/io        586.71 ms   58.67%      0.00 ns/io        Blocked 
  28  26.19 ms    2.62%       16.14 us/ex       67.13 ms    6.71%       47.02 us/ex       Waited 
 Idle 448.98 ms   44.90%      229.59 us/ex      359.74 ms   35.97%      251.82 us/ex      Gotten 
 Idle 0.00 ns     0.00%       0.00 ns/io        0.00 ns     0.00%       0.00 ns/io        Blocked 
 Idle 550.66 ms   55.07%      281.58 us/ex      640.01 ms   64.00%      448.01 us/ex      Waited 
  41  1.40 ms     0.14%       54.30 us/ex       964.77 us   0.10%       57.33 us/ex       Gotten 
  41  459.20 ms   45.92%      0.00 ns/io        470.01 ms   47.00%      0.00 ns/io        Blocked 
  41  1.94 ms     0.19%       75.09 us/ex       11.80 ms    1.18%       701.16 us/ex      Waited 
  13  466.75 ms   46.67%      863.83 us/ex      536.81 ms   53.68%      1.06 ms/ex        Gotten 
  13  0.00 ns     0.00%       0.00 ns/io        0.00 ns     0.00%       0.00 ns/io        Blocked 
  13  8.52 ms     0.85%       15.77 us/ex       8.46 ms     0.85%       16.75 us/ex       Waited 
  49  568.29 us   0.06%       34.60 us/ex       444.77 us   0.04%       31.72 us/ex       Gotten 
  49  546.79 ms   54.68%      0.00 ns/io        560.84 ms   56.08%      0.00 ns/io        Blocked 
  49  1.13 ms     0.11%       69.04 us/ex       6.18 ms     0.62%       441.01 us/ex      Waited 
 *                99.80%                                    99.84%

Die obige Beispielausgabe zeigt Informationen über die physische CPU 0 an, d. h. wie CPU=0 von verschiedenen Domänen verwendet wird und wie lange sie innerhalb der letzten 1 und 10 Sekunden verwendet wurde. Die erste Spalte gibt die Domain-ID an – 0 bezieht sich auf Dom-0.

Für jede Domäne werden drei Zeilen gedruckt:

  • 1. Zeile:Gotten =Betrag der CPU-Zeit/Prozentsatz, den die CPU auf der Domain ausführt.
  • Zweite Zeile:Blockiert =Schlafzeit/Prozentsatz.
  • 3. Zeile:Waited =Betrag der CPU-Zeit/Prozentsatz, den die Domain im Wartezustand ist.

Drücken Sie die Taste „p“ oder „n“, um Informationen für die vorherige/nächste physische CPU anzuzeigen.

Verwendung von Xenmon.py:

usage: xenmon.py [options] 

options: 
  -h, --help            show this help message and exit 
  -l, --live            show the ncurses live monitoring frontend (default) 
  -n, --notlive         write to file instead of live monitoring 
  -p PREFIX, --prefix=PREFIX 
                        prefix to use for output files 
  -t DURATION, --time=DURATION 
                        stop logging to file after this much time has elapsed 
                        (in seconds). set to 0 to keep logging indefinitely 
  -i INTERVAL, --interval=INTERVAL 
                        interval for logging (in ms) 
  --ms_per_sample=MSPERSAMPLE 
                        determines how many ms worth of data goes in a sample 
  --cpu=CPU             specifies which cpu to display data for 
  --allocated           Display allocated time for each domain 
  --noallocated         Don't display allocated time for each domain 
  --blocked             Display blocked time for each domain 
  --noblocked           Don't display blocked time for each domain 
  --waited              Display waiting time for each domain 
  --nowaited            Don't display waiting time for each domain 
  --excount             Display execution count for each domain 
  --noexcount           Don't display execution count for each domain 
  --iocount             Display I/O count for each domain 
  --noiocount           Don't display I/O count for each domain


Linux
  1. Wie installiere ich die Xen-Virtualisierungssoftware unter Linux und starte eine VM mit virt-manager?

  2. Wie erstelle ich eine virtuelle Ethernet-Schnittstelle auf einem Computer ohne physischen Adapter?

  3. Terminalbefehl, um herauszufinden, ob ein Server virtuell oder physisch ist?

  4. Wie überprüfe ich, ob das Linux-System auf einem physischen System oder einer virtuellen Maschine ausgeführt wird?

  5. Deaktivieren/Aktivieren von Numa für virtuelle Maschinen (XEN-basiert)

Erhalten Sie CPU-Informationen unter Linux

So installieren Sie Oracle Virtual Box 5.0 unter (Ubuntu) Linux

So überprüfen oder finden Sie CPU-Informationen in Linux

So überprüfen Sie die CPU-Informationen in Linux

So zeigen Sie Hardwareinformationen unter Linux an

So finden Sie CPU-Informationen in Linux über die Befehlszeile