GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo obtener información de CPU virtual/física en Oracle VM (XEN)

Esta publicación explica cómo obtener el uso de la CPU virtual o física de un servidor Oracle VM, incluido el uso real de la CPU y el tiempo de ejecución de los dominios invitados. El uso de CPU específico del invitado (Dom-U) se puede obtener ejecutando comandos en el invitado mismo, por ejemplo; superior, ps y sar.

Sin embargo, si desea obtener un uso específico de la CPU, incluido el dominio/hipervisor de administración del servidor Oracle VM (Dom-0), las siguientes utilidades de xen-tools están disponibles para ejecutarse en el servidor Oracle VM:

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

1. xentop

El comando xentop -v muestra información de la CPU virtual, por ejemplo:

# 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

En el ejemplo anterior, los dominios Domain-0, 4474_EL5U2 y 4511_EL564 utilizan cada uno dos CPU virtuales, mientras que todos los demás solo utilizan una CPU virtual. Domain Domain-0 utiliza un tiempo de CPU total de 87787 segundos; 57 819 segundos en VCPU0 y 29 968 segundos en VCPU1.

Uso de 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

Los parámetros significan:

Parámetros significados
CPU (seg) Tiempo de CPU que el sistema operativo invitado ha consumido (acumulado)
CPU(%) “Porcentaje de CPU que consume actualmente el sistema operativo invitado. Nota 1:Esto se calcula como CPU (%) =Número real de CPU asignada * Uso real de la CPU en el sistema operativo invitado (0-100 %). Por lo tanto, esto podría llegar hasta el 300 % cuando se asignan 3 CPU al sistema operativo invitado. “”Número de CPU real asignado”” no es el número de CPU virtual asignado al sistema operativo invitado, sino el número de CPU real asignado al sistema operativo invitado, ya que debe ser de hasta el 200 % cuando los núcleos de CPU físicos son 2, incluso si las VCPU están asignadas al sistema operativo invitado. Los SO invitados son 3 o más. Nota 2:siempre es 0,0% en la primera salida de xentop, ya que se calcula dividiendo el intervalo de las actualizaciones. Por lo tanto, la opción ""-i"" debe configurarse como 2 o más para obtener la CPU correcta (%). Nota 3:Esto solo muestra el uso de la CPU en el sistema operativo host para los sistemas operativos invitados, por lo tanto, esto podría ser diferente del uso de la CPU (por ejemplo, que muestra ""superior"") en los sistemas operativos invitados".
MEM(k) Tamaño de la memoria en Kbytes que ocupa el sistema operativo invitado en la memoria del sistema operativo host. Para Domain0, este es el valor igual de dom0_mem=especificado en /etc/grub.conf del sistema operativo host y también el valor igual de "memory =" en vm.cfg para el sistema operativo invitado. ex. dom0_mem=1024M muestra 1048576(kB) para MEM(k) para el sistema operativo host.
MEM(%) Tamaño de la memoria en porcentaje que ocupa el sistema operativo invitado en la memoria del sistema operativo host
MAXMEM(k) Tamaño máximo de memoria en Kbytes que el sistema operativo invitado podría ocupar en la memoria del sistema operativo host
MÁX.MEM(%) Tamaño máximo de memoria en porcentaje que ocupa el sistema operativo invitado en la memoria del sistema operativo host
VCPUS Número de CPU virtual que se asigna al sistema operativo huésped
REDES Número de interfaz de red virtual que se asigna al sistema operativo invitado
NETTX(k) tráfico de red en Kbyte que envía el sistema operativo invitado (acumulado)
NETRX(k) tráfico de red en Kbyte que recibe el sistema operativo invitado (acumulado)
VBDS Número de dispositivo de bloque virtual (=almacenamiento) que se asigna al sistema operativo invitado
VBD_OO número bloqueado de E/S desde/hacia el sistema operativo huésped
VBD_RD leer el número de solicitud del sistema operativo invitado (acumulado)
VBD_WR escriba el número de solicitud del sistema operativo invitado (acumulado)
VBD_RSECT lea el número de sector del sistema operativo invitado (acumulado), el antiguo xentop no muestra esto
VBD_WSECT escriba el número de sector del sistema operativo huésped (acumulado), el antiguo xentop no muestra esto
SSID N/A

2. Xenmon.py

El comando xenmon.py muestra información específica de la CPU física, por ejemplo:

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

El resultado del ejemplo anterior muestra información sobre la CPU física 0, es decir, cómo varios dominios utilizan CPU=0 y cuánto tiempo se ha utilizado en los últimos 1 y 10 segundos. La primera columna informa el ID de dominio:0 se refiere a Dom-0.

Se imprimen tres líneas para cada dominio:

  • 1ra fila:Obtenido =cantidad de tiempo de CPU/porcentaje que la CPU se está ejecutando en el dominio.
  • Segunda fila:Bloqueado =cantidad de tiempo/porcentaje de sueño.
  • 3ra fila:En espera =cantidad de tiempo de CPU/porcentaje en el que el dominio está en estado de espera.

Presione la tecla 'p' o 'n' para mostrar información de la CPU física anterior/siguiente.

Uso de 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. Cómo comprobar si un sistema Linux es una máquina física o virtual

  2. ¿Cómo verificar si el sistema Linux se está ejecutando en un sistema físico o una máquina virtual?

  3. Cómo deshabilitar/habilitar Numa para máquina virtual (basado en XEN)

  4. Cómo obtener información de la CPU en un invitado de vmware

  5. ¿Cómo sabe la CPU qué dirección física está asignada a qué dirección virtual?

Obtener información de la CPU en Linux

Cómo instalar Oracle Virtual Box 5.0 en (Ubuntu) Linux

Cómo verificar o encontrar información de la CPU en Linux

Cómo verificar la información de la CPU en Linux

Cómo ver información de hardware en Linux

Cómo encontrar información de la CPU en Linux usando la línea de comandos