GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere informazioni sulla CPU virtuale/fisica in Oracle VM (XEN)

Questo post spiega come ottenere l'utilizzo della CPU virtuale o fisica di un server Oracle VM, incluso l'utilizzo effettivo della CPU e il tempo di esecuzione dei domini guest. L'utilizzo della CPU specifico del guest (Dom-U) può essere ottenuto eseguendo i comandi sul guest stesso, ad esempio; in alto, ps e sar.

Se, tuttavia, desideri ottenere un utilizzo specifico della CPU, incluso quello del dominio/hypervisor di gestione di Oracle VM Server (Dom-0), le seguenti utilità xen-tools sono disponibili per l'esecuzione su Oracle VM Server:

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

1. xentop

Il comando xentop -v mostra le informazioni sulla CPU virtuale, ad esempio:

# 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

Nell'esempio sopra, i domini Domain-0, 4474_EL5U2 e 4511_EL564 utilizzano ciascuno due CPU virtuali, mentre tutti gli altri utilizzano solo una CPU virtuale. Dominio Domain-0 utilizza un tempo totale della CPU di 87787 secondi; 57.819 secondi su VCPU0 e 29.968 secondi su VCPU1.

Utilizzo di Xentop:

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

I parametri significano:

Parametri significati
CPU(sec) Tempo CPU che il SO guest ha consumato (cumulato)
CPU(%) "Percentuale di CPU consumata attualmente dal sistema operativo guest. Nota1:Questo valore viene calcolato come CPU(%) =Actuall Assigned CPU# * Utilizzo effettivo della CPU sul sistema operativo guest (0-100%). Pertanto, potrebbe arrivare fino al 300% quando 3 CPU vengono assegnate al sistema operativo guest. ""Actuall Assigned CPU#"" non è il numero di CPU virtuale assegnato al sistema operativo guest, ma il numero di CPU effettivo assegnato al sistema operativo guest, poiché dovrebbe essere fino al 200% quando i core della CPU fisica sono 2 anche se le VCPU assegnate al sistema operativo guest I SO guest sono 3 o più. Nota2:questo è sempre 0,0% alla prima uscita di xentop, poiché viene calcolato dividendo l'intervallo degli aggiornamenti. Pertanto l'opzione ""-i"" deve essere impostata su 2 o più per ottenere la corretta CPU(%). Nota 3:questo mostra solo l'utilizzo della CPU sul sistema operativo host per i sistemi operativi guest, quindi potrebbe essere diverso dall'utilizzo della CPU (ad es. quale ""top"" mostra) sui sistemi operativi guest".
MEM(k) Dimensione della memoria in Kbyte che il SO guest occupa sulla memoria del SO host. Per Domain0, questo è il valore uguale di dom0_mem=specificato in /etc/grub.conf del sistema operativo host e anche il valore uguale di "memory =" in vm.cfg per il sistema operativo guest. ex. dom0_mem=1024M mostra 1048576(kB) per MEM(k) per il sistema operativo host.
MEM(%) Dimensione della memoria in percentuale occupata dal sistema operativo guest sulla memoria del sistema operativo host
MAXMEM(k) Dimensione massima della memoria in Kbyte che il SO guest potrebbe occupare sulla memoria del SO host
MAXMEM(%) Dimensione massima della memoria in percentuale che il SO guest occupa sulla memoria del SO host
VCPUS Numero di CPU virtuale assegnato al SO guest
RETI Numero di interfaccia di rete virtuale assegnato al SO guest
NETTX(k) traffico di rete in Kbyte inviato dal SO guest (cumulato)
NETRX(k) traffico di rete in Kbyte che il SO guest riceve (cumulato)
VBDS Numero di dispositivo virtuale a blocchi(=storage) assegnato al SO guest
VBD_OO numero bloccato di I/O da/verso il SO guest
VBD_RD leggere il numero di richiesta dal sistema operativo guest (cumulato)
VBD_WR scrivi il numero di richiesta dal SO guest (cumulato)
VBD_RSECT leggere il numero del settore dal SO guest (cumulato), il vecchio xentop non lo mostra
VBD_WSECT scrivi il numero del settore dal SO guest (cumulato), il vecchio xentop non lo mostra
SSID N/D

2. Xenmon.py

Il comando xenmon.py mostra informazioni specifiche sulla CPU fisica, ad esempio:

# /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%

L'output di esempio sopra mostra informazioni sulla CPU fisica 0, ad esempio come CPU=0 viene utilizzata da vari domini e per quanto tempo è stata utilizzata negli ultimi 1 e 10 secondi. La prima colonna riporta l'ID dominio – 0 si riferisce a Dom-0.

Vengono stampate tre righe per ogni dominio:

  • 1a riga:ottenuto =quantità di tempo CPU/percentuale che la CPU sta eseguendo nel dominio.
  • 2a fila:Bloccato =quantità di tempo di sonno/percentuale.
  • 3a riga:Waited =quantità di tempo CPU/percentuale in cui il dominio è in stato di attesa.

Premere il tasto 'p' o 'n' per visualizzare le informazioni per la CPU fisica precedente/successiva.

Utilizzo di 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. Come installare il software di virtualizzazione Xen su Linux e avviare una VM utilizzando virt-manager?

  2. Come disabilitare/abilitare Numa per macchine virtuali (basato su XEN)

  3. Come ottenere l'utilizzo della CPU

  4. Come fa la CPU a sapere quale indirizzo fisico è mappato a quale indirizzo virtuale?

  5. Android - Come posso eseguire Windows o Linux come macchina virtuale su Android?

Ottieni informazioni sulla CPU su Linux

Come ottenere Oracle Virtual Box 5.0 installato su (Ubuntu) Linux

Come controllare o trovare informazioni sulla CPU in Linux

Come controllare le informazioni sulla CPU in Linux

Come visualizzare le informazioni sull'hardware in Linux

Come trovare informazioni sulla CPU in Linux utilizzando la riga di comando