Go to main content
Guía de administración para Oracle® VM Server for SPARC 3.4

Salir de la Vista de impresión

Actualización: Agosto de 2016
 
 

Uso de la reconfiguración dinámica de memoria

La reconfiguración dinámica (DR) de memoria está basada en la capacidad y permite agregar o eliminar una cantidad arbitraria de memoria en un dominio lógico activo.

    A continuación, se detallan los requisitos y las restricciones para el uso de la función de DR de memoria:

  • Puede realizar operaciones de DR de memoria en cualquier dominio. En cualquier caso, solo una operación de DR de memoria individual puede estar en progreso en un dominio en un determinado momento.

  • La característica de DR de memoria refuerza la alineación de 256 Mbytes en las direcciones y el tamaño de la memoria implicada en una determinada operación. Consulte Alineación de memoria.

  • La memoria no alineada en la agrupación de memoria libre no puede asignarse a un dominio mediante la función de DR de memoria. Consulte Agregación de memoria no alineada.

Si la memoria de un dominio no puede reconfigurarse usando una operación de DR de memoria, el dominio debe pararse antes de que se reconfigure la memoria. Si el dominio es el dominio de control, debe comenzar una reconfiguración retrasada.

En determinadas circunstancias, Logical Domains Manager redondea la asignación de memoria solicitada al siguiente múltiplo mayor de 8 KB o 4 MB. En el siguiente ejemplo, se muestra la salida del comando ldm list-domain -l, donde el valor de restricción es menor que el tamaño asignado real:

Memory:
          Constraints: 1965 M
          raddr          paddr5          size
          0x1000000      0x291000000     1968M

Agregación de memoria

Si un dominio está activo, puede usar el comando ldm add-memory para agregar dinámicamente memoria al dominio. El comando ldm set-memory también puede agregar dinámicamente memoria si el tamaño de memoria especificado es superior al tamaño de memoria actual del dominio.

Eliminación de memoria

Si un dominio está activo, puede usar el comando ldm remove-memory para eliminar dinámicamente la memoria del dominio. El comando ldm set-memory también puede eliminar dinámicamente memoria si el tamaño de memoria especificado es inferior al tamaño de memoria actual del dominio.

La eliminación de memoria puede ser una operación larga. Puede efectuar un seguimiento de un comando ldm remove-memory ejecutando el comando ldm list -l para el dominio especificado.

Puede cancelar una solicitud de eliminar que está en progreso interrumpiendo el comando ldm remove-memory (pulsando Control-C) o generando el comando ldm cancel-operation memdr. Si se cancela una solicitud eliminación de memoria, solo se ve afectada la parte pendiente de la solicitud de eliminación, es decir, la cantidad de memoria que aún no se ha eliminado del dominio.

Solicitudes parciales de DR de memoria

Una solicitud para agregar dinámicamente memoria a un dominio o eliminarla de él solo se puede completar parcialmente. Este resultado depende de la disponibilidad de memoria adecuada para agregar o eliminar, respectivamente.


Notas - La memoria se borra después de haber sido eliminada de un dominio y antes de ser agregada a otro dominio.

Reconfiguración de memoria del dominio de control

Puede utilizar la función de DR de memoria para reconfigurar la memoria del dominio de control. Si no puede realizarse una solicitud de DR de memoria en el dominio de control, primero debe iniciar una reconfiguración retrasada.

El uso de una DR de memoria puede no ser adecuado para la eliminación de grandes cantidades de memoria de un dominio activo ya que las operaciones de DR de memoria pueden ser largas. En especial, durante la configuración inicial del sistema, debe usar la reconfiguración retrasada para disminuir la memoria en el dominio de control.

Disminución de la memoria del dominio de control

Use una reconfiguración retrasada en vez de una DR de memoria para disminuir la memoria del dominio de control de la configuración predeterminada de fábrica inicial. En este caso, el dominio de control posee toda la memoria del sistema host. La función de DR de memoria no es adecuada para este objetivo, ya que no se garantiza que un dominio activo agregue toda la memoria solicitada o, más comúnmente, entregue toda la memoria solicitada. Más bien, la ejecución del sistema operativo en ese dominio hace todo lo posible para cumplir la solicitud. Además, la eliminación de la memoria puede ser una operación larga. Estos temas se amplían cuando están implicadas operaciones de memoria de gran tamaño, como en el caso para la disminución inicial de la memoria del dominio de control.

Por estas razones, use una reconfiguración retrasada usando los siguientes pasos:

  1. Use el comando ldm start-reconf primary para poner el dominio de control en modo de reconfiguración retrasada.

  2. Efectúe la partición de los recursos del sistema host que pertenecen al dominio de control, si es necesario.

  3. Use el comando ldm cancel-reconf para deshacer las operaciones del paso 2, si es necesario, y volver a empezar.

  4. Reinicie el dominio de control para hacer que se realicen los cambios de la configuración.

Reconfiguración dinámica y retrasada

Si está pendiente una reconfiguración retrasada en el dominio de control, se rechaza una solicitud de reconfiguración de memoria para cualquier otro dominio. Si no está pendiente una reconfiguración retrasada en el dominio de control, se rechaza una reconfiguración de memoria para cualquier dominio que no admita la DR de memoria. Para esos dominios, la solicitud se convierte en una solicitud de reconfiguración retrasada.

Alineación de memoria

Las solicitudes de reconfiguración de memoria tienen diferentes requisitos de alineación que dependen del estado del dominio al que se aplica la solicitud.

Alineación de memoria para dominios activos

  • Agregación y eliminación dinámicas. La dirección y el tamaño de un bloque de memoria están alineados a 256 MB para la agregación y la eliminación dinámicas. El tamaño de funcionamiento mínimo es de 256 Mbytes.

    Se rechaza una solicitud no alineada o una solicitud de eliminación que es superior al tamaño enlazado.

      Use los siguientes comandos para ajustar las asignaciones de memoria:

    • ldm add-memory. Si especifica la opción –-auto-adj con este comando, la cantidad de memoria que se va a agregar está alineada a 256 MB, lo que puede aumentar la cantidad de memoria que se agrega realmente al dominio.

    • ldm remove-memory. Si especifica la opción –-auto-adj con este comando, la cantidad de memoria que se va a eliminar está alineada a 256 MB, lo que puede reducir la cantidad de memoria que se elimina realmente del dominio.

    • ldm set-memory. Este comando se trata como una operación de agregación o eliminación. Si especifica la opción –-auto-adj, la cantidad de memoria agregada o eliminada está alineada a 256 Mbytes como anteriormente descrito. Tenga en cuenta que esta alineación puede aumentar el tamaño de la memoria resultante del dominio.

  • Reconfiguración retrasada. La dirección y el tamaño de un bloque de memoria están alineados a 4 MB. Si realiza una solicitud de no alineación, la solicitud se redondea para que esté alineada a 4 Mbytes.

Alineación de memoria para dominios enlazados

La dirección y el tamaño del bloque de memoria están alineadas a 4 Mbytes para dominios enlazados. Si realiza una solicitud de no alineación, la solicitud se redondea para que esté alineada a 4 Mbytes. Por lo tanto, esto significa que el tamaño de la memoria resultante del dominio puede superar las especificaciones.

Para los comandos ldm add-memory, ldm set-memory y ldm remove-memory, la opción –-auto-adj redondea el tamaño de la memoria resultante para que esté alineada a 256 Mbytes. Por lo tanto, esto significa que el tamaño de la memoria resultante puede superar las especificaciones.

Alineación de memoria para dominios inactivos

Para los comandos ldm add-memory, ldm set-memory y ldm remove-memory, la opción –-auto-adj redondea el tamaño de la memoria resultante para que esté alineada a 256 Mbytes. No existe un requisito de alineación para un dominio inactivo. Las restricciones descritas en Alineación de memoria para dominios enlazados se efectúan después de que se haya enlazado dicho dominio.

Agregación de memoria no alineada

La característica de DR de memoria aplica la alineación de memoria de 256 Mbytes en la dirección y el tamaño de la memoria que se agrega o elimina dinámicamente de un dominio activo. Por lo tanto, esto significa que una memoria no alineada en un dominio activo no puede eliminarse mediante la función de DR de memoria.

Además, una memoria no alineada en la agrupación de memoria libre no puede agregarse a un dominio activo mediante la función de DR de memoria.

Después de la asignación de la memoria alineada, puede usar el comando ldm add-memory para agregar la memoria no alineada restante a un dominio enlazado o inactivo. También puede usar este comando para agregar la memoria no alineada restante al dominio de control con la operación de reconfiguración retrasada.

El siguiente ejemplo muestra cómo agregar los dos bloques de memoria de 128-Mbyte restantes a los dominios primary y ldom1. El dominio ldom1 está en estado enlazado.

El siguiente comando inicia una operación de reconfiguración retrasada en el dominio de control.

primary# ldm start-reconf primary
Initiating a delayed reconfiguration operation on the primary domain.
All configuration changes for other domains are disabled until the
primary domain reboots, at which time the new configuration for the
primary domain also takes effect.

El siguiente comando agrega uno de los bloques de memoria de 128 MB al dominio de control.

primary# ldm add-memory 128M primary
------------------------------------------------------------------------------
Notice: The primary domain is in the process of a delayed reconfiguration.
Any changes made to the primary domain will only take effect after it reboots.
------------------------------------------------------------------------------

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -ndcv-  SP      8     2688M    0.1%  23d 8h 8m

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      8     2560M    0.5%  23d 8h 9m
ldom1            bound      ------  5000    1     524M

El siguiente comando agrega el otro bloque de memoria de 128 MB al dominio ldom1.

primary# ldm add-mem 128M ldom1
primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      8     2560M    0.1%  23d 8h 9m
ldom1            bound      ------  5000    1     652M

Ejemplos de DR de memoria

Los siguientes ejemplos muestras cómo realizar operaciones DR de memoria. Para más información sobre los comandos de la CLI relacionados, véase la página de comando man ldm(1M).

Ejemplo 66  Operaciones DR de memoria en dominios activos

Este ejemplo muestra cómo agregar memoria dinámicamente y eliminarla de un dominio activo, ldom1.

La salida ldm list muestra la memoria para cada dominio en el campo Memoria.

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   0.4%  1d 22h 53m
ldom1            active     -n----  5000    2     2G       0.4%  1d 1h 23m
ldom2            bound      ------  5001    2     200M

El siguiente comando ldm add-mem sale y genera un error porque la memoria se debe especificar en múltiplos de 256 MB. El siguiente comando ldm add-mem usa la opción –-auto-adj de manera que incluso si especifica 200M como la cantidad de memoria que se debe agregar, la cantidad se redondea hasta 256 Mbytes.

primary# ldm add-mem 200M ldom1
The size of memory must be a multiple of 256MB.

primary# ldm add-mem --auto-adj 200M ldom1
Adjusting request size to 256M.
The ldom1 domain has been allocated 56M more memory
than requested because of memory alignment constraints.

primary# ldm list
NAME            STATE   FLAGS   CONS    VCPU    MEMORY  UTIL    UPTIME
primary         active  -n-cv-  SP      4       27392M  5.0%    8m
ldom1           active  -n----  5000    2       2304M   0.5%    1m
ldom2           bound   ------  5001    2       200M

El comando ldm rm-mem sale con un error ya que debe especificar la memoria en múltiples de 256 Mbytes. Cuando se agrega la opción –-auto-adj al mismo comando, se ejecuta satisfactoriamente la eliminación de memoria y la cantidad de memoria se redondea hacia abajo al siguiente límite de 256 MB.

primary# ldm rm-mem --auto-adj 300M ldom1
Adjusting requested size to 256M.
The ldom1 domain has been allocated 44M more memory
than requested because of memory alignment constraints.

primary# ldm list
NAME            STATE   FLAGS   CONS    VCPU    MEMORY  UTIL    UPTIME
primary         active  -n-cv-  SP      4       27392M  0.3%    8m
ldom1           active  -n----  5000    2       2G      0.2%    2m
ldom2           bound   ------  5001    2       200M
Ejemplo 67  Operaciones DR de memoria en dominios enlazados

Este ejemplo muestra cómo agregar y eliminar memoria de un dominio enlazado, ldom2.

La salida ldm list muestra la memoria para cada dominio en el campo Memoria. El primer comando ldm add-mem agrega 100 Mbytes de memoria al dominio ldom2. El siguiente comando ldm add-mem especifica la opción –-auto-adj, lo que provoca la agregación de 112 Mbytes de memoria adicionales que se agregan dinámicamente a ldom2.

El comando ldm rm-mem elimina dinámicamente 100 Mbytes del dominio ldom2. Si especifica la opción –-auto-adj en el mismo comando para eliminar 300 Mbytes de memoria, la cantidad de memoria se redondea al límite de los siguientes 256 Mbytes.

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   0.4%  1d 22h 53m
ldom1            active     -n----  5000    2     2G       0.4%  1d 1h 23m
ldom2            bound      ------  5001    2     200M          

primary# ldm add-mem 100M ldom2

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   0.5%  1d 22h 54m
ldom1            active     -n----  5000    2     2G       0.2%  1d 1h 25m
ldom2            bound      ------  5001    2     300M       

primary# ldm add-mem --auto-adj 100M ldom2
Adjusting request size to 256M.
The ldom2 domain has been allocated 112M more memory
than requested because of memory alignment constraints.

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   0.4%  1d 22h 55m
ldom1            active     -n----  5000    2     2G       0.5%  1d 1h 25m
ldom2            bound      ------  5001    2     512M          

primary# ldm rm-mem 100M ldom2
primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   3.3%  1d 22h 55m
ldom1            active     -n----  5000    2     2G       0.2%  1d 1h 25m
ldom2            bound      ------  5001    2     412M          

primary# ldm rm-mem --auto-adj 300M ldom2
Adjusting request size to 256M.
The ldom2 domain has been allocated 144M more memory
than requested because of memory alignment constraints.

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   0.5%  1d 22h 55m
ldom1            active     -n----  5000    2     2G       0.2%  1d 1h 26m
ldom2            bound      ------  5001    2     256M
Ejemplo 68  Configuración de los tamaños de memoria del dominio

Este ejemplo muestra cómo usar el comando ldm set-memory para agregar memoria y para quitarla de un dominio.

La salida ldm list muestra la memoria para cada dominio en el campo Memoria.

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     27392M   0.5%  1d 22h 55m
ldom1            active     -n----  5000    2     2G       0.2%  1d 1h 26m
ldom2            bound      ------  5001    2     256M

El siguiente comando ldm set-mem intenta establecer el tamaño del dominio primary en 3400 MB. El error resultante indica que el valor especificado no está en el límite de 256 Mbytes. Si se agrega la opción –-auto-adj al mismo comando le permite eliminar correctamente alguna memoria y permanecer dentro del límite de 256 Mbytes. Este comando también envía un aviso para indicar que no se ha podido eliminar toda la memoria solicitada ya que el dominio ha usado esa memoria.

primary# ldm set-mem 3400M primary
An ldm set-mem 3400M command would remove 23992MB, which is not a multiple
of 256MB. Instead, run ldm rm-mem 23808MB to ensure a 256MB alignment.

primary# ldm set-mem --auto-adj 3400M primary
Adjusting request size to 3.4G.
The primary domain has been allocated 184M more memory
than requested because of memory alignment constraints.
Only 9472M of memory could be removed from the primary domain
because the rest of the memory is in use.

El siguiente comando ldm set-mem fija el tamaño de la memoria del dominio ldom2, que está en estado enlazado, a 690 Mbytes. Si agrega la opción –-auto-adj al mismo comando, se agregan dinámicamente 78 Mbytes de memoria a ldom2 para mantenerse en el límite de 256 Mbytes.

primary# ldm set-mem 690M ldom2
primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     17920M   0.5%  1d 22h 56m
ldom1            active     -n----  5000    2     2G       0.6%  1d 1h 27m
ldom2            bound      ------  5001    2     690M          

primary# ldm set-mem --auto-adj 690M ldom2
Adjusting request size to 256M.
The ldom2 domain has been allocated 78M more memory
than requested because of memory alignment constraints.

primary# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     17920M   2.1%  1d 22h 57m
ldom1            active     -n----  5000    2     2G       0.2%  1d 1h 27m
ldom2            bound      ------  5001    2     768M