Categorías: Noticias

Manejando la memoria en “caliente” con Xen

Cuando tenemos una máquina física con tantos GB de RAM y empezamos a paravirtualizar con Xen sobre ella, el recurso que más debemos cuidar es éste, la memoria física disponible en el sistema. Dentro del fichero de configuración de nuestras máquinas definiremos dos valores:

  • memory: memoria con la que se creará la máquina
  • maxmem: tope de memoria que podremos conseguir gracias al balloning (aumento de la memoria en caliente)

De hecho, si no definimos el siguiente parámetro, Xen interpretará que será igual al anterior. Imaginemos que tenemos una máquina creada con 1024MB de memoria y con un tope de 4096MB.

Cuando hacemos xm create nombreMaquina y se inicia, con xm list podremos ver la cantidad de memoria que está consumiendo:

# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      256     2 r-----  54678.1
foo                                        2     1024     1 -b----   4660.2

Aumentar y reducir memoria en ejecución

La máquina está ejecutando, necesitas crear nuevas máquinas y ésta en concreto no está usando toda la memoria. Recordad que el uso de CPUs virtuales en Xen es escalable, pero el de la memoria no lo es, al menos de forma tan automática. La solución es usar la siguiente instrucción:

xm mem-set nombreMaquina nuevoTamaño

Veamos cómo quedaría nuestro caso xm mem-set foo 512:

# xm mem-set foo 512
# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      256     2 r-----  56681.0
foo                                        2      512     1 -b----   5160.2

O podemos incrementarla, hasta un valor siempre igual o menor al definido en maxmem, por ejemplo a 2048:

xm mem-set foo 2048

# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      256     2 r-----  69735.6
foo                                       11     2048     1 -b----   5289.8
F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • "O podemos incrementarla, hasta un valor siempre igual o mayor al definido en maxmem" ,

    disculpa pero lo correcto sería :

    O podemos incrementarla, hasta un valor siempre igual o menor al definido en maxmem

  • hola uso el xen 3.1.2 y ejecutando el comando
    #xm men-set vm_xp1 512
    no cambia el tamaño de la memoria ram pero sin embargo cuando lo reinicio recién se efectúa el cambio, algo que debería configurar tal vez antes algún paso que este obviando.
    Gracias por la respuesta de antemano.

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace