Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Configuración de rcapd

Utilice el comando rcapadm para configurar el daemon de límite de recursos. Puede realizar las siguientes acciones:

Para configurar el daemon, debe tener privilegios de superusuario o tener el perfil de administración de procesos en la lista de perfiles. Tanto el rol de administración de procesos como el rol del administrador de sistemas incluyen el perfil de administración de procesos.

Los cambios de configuración se pueden incorporar en rcapd de acuerdo con el intervalo de configuración (consulte Intervalos de operación rcapd) o según se solicite enviando SIGHUP (consulte la página del comando man kill(1)).

Si se utiliza sin argumentos, rcapadm muestra el estado actual del daemon de límite de recursos si se ha configurado.

En las subsecciones siguientes se describe la aplicación del límite, los valores de límite y los intervalos de funcionamiento de rcapd.

Uso del daemon de límite de recursos en un sistema con zonas instaladas

Puede controlar el uso del tamaño del conjunto residente (RSS) de una zona configurando el recurso capped-memory cuando configura la zona. Para más información, consulte Solaris 10 8/07: control de memoria física y recurso capped-memory. Puede ejecutar el comando rcapd en una zona, incluida la zona global, para aplicar límites de memoria a los proyectos de dicha zona.

Puede establecer un límite temporal para la cantidad máxima de memoria que puede consumir una zona especificada, hasta la próxima vez que se reinicie el sistema. Consulte Cómo especificar un límite de recursos temporal para una zona .

Si utiliza rcapd en una zona para regular el consumo de memoria física por parte de los procesos que se ejecutan en proyectos que tengan definidos límites de recursos, debe configurar el daemon en dicha zona.

Al seleccionar límites de memoria para las aplicaciones en diferentes zonas, normalmente no es necesario que las aplicaciones residan en zonas distintas. Una excepción a esta norma son los servicios por zona. Dichos servicios consumen memoria. Este consumo de memoria debe tenerse en cuenta a la hora de determinar la cantidad de memoria física para un sistema, así como los límites de memoria.


Nota –

No puede ejecutar rcapd en una zona con marca lx. Sin embargo, puede utilizar el daemon de la zona global para limitar la memoria de la zona con marca.


Umbral de aplicación de límite de memoria

El umbral de aplicación de límite de memoria es el porcentaje de utilización de la memoria física del sistema que activa la aplicación del límite. Cuando el sistema supera esta utilización, se aplican los límites. La memoria física que utilizan las aplicaciones y el núcleo se incluye en este porcentaje. El porcentaje de utilización determina el modo en que se aplican los límites de memoria.

Para aplicar los límites, puede extraer memoria de las cargas de trabajo del proyecto.

Se permite una carga de trabajo para utilizar la memoria física hasta su límite. Una carga de trabajo puede utilizar memoria adicional siempre que el uso de memoria del sistema esté por debajo del umbral de aplicación del límite de la memoria.

Para definir el valor para la aplicación del límite, consulte Cómo establecer el umbral de aplicación del límite de memoria.

Cómo determinar valores límite

Si un límite de proyecto está configurado con un valor demasiado bajo, es posible que no haya suficiente memoria para que la carga de trabajo siga funcionando de forma eficaz en condiciones normales. La paginación que se produce porque la carga de trabajo requiere más memoria afecta negativamente al rendimiento del sistema.

Los proyectos que tienen límites demasiado elevados pueden consumir la memoria física disponible antes de alcanzar los límites. En ese caso, el núcleo administra de forma eficaz la memoria física, no el comando rcapd.

Tenga en cuenta los siguientes aspectos a la hora de determinar los límites de los proyectos.

Impacto en el sistema de E/S

El daemon puede intentar reducir el uso de memoria física de la carga de trabajo de un proyecto siempre que el uso muestreado supere el límite del proyecto. Durante la aplicación del límite, se utilizan los dispositivos de intercambio y otros dispositivos que contienen archivos que ha asignado la carga de trabajo. El rendimiento de los dispositivos de intercambio es un factor crítico a la hora de determinar el rendimiento de una carga de trabajo que excede su límite de forma rutinaria. La ejecución de la carga de trabajo es similar a su ejecución en un equipo con la misma cantidad de memoria física que el límite de la carga de trabajo.

Impacto en el uso de CPU

El uso de CPU del daemon varía según el número de procesos de las cargas de trabajo del proyecto que limita y el tamaño de los espacios de direccionamiento de las cargas de trabajo.

Una pequeña parte del tiempo de CPU del daemon se dedica a muestrear el uso de cada carga de trabajo. Añadir procesos a las cargas de trabajo aumenta el tiempo que se dedica a muestrear el uso.

Otra parte del tiempo de CPU del daemon se dedica a aplicar los límites cuando se superan. El tiempo dedicado es proporcional a la cantidad de memoria virtual asignada. El tiempo de CPU dedicado aumenta o disminuye según los cambios correspondientes en el tamaño total del espacio de direccionamiento de la carga de trabajo. Esta información se registra en la columna vm de la salida de rcapstat. Para obtener más información, consulte Supervisión del uso de recursos con rcapstat y la página del comando man rcapstat(1).

Informes de memoria compartida

El daemon rcapd informa al RSS sobre las páginas de memoria que se comparten con otros procesos o que se asignan varias veces en un mismo proceso, a modo de promedio bastante preciso. Si hay procesos de distintos proyectos que comparten la misma memoria, dicha memoria se cuenta con el total del RSS para todos los proyectos que comparten la memoria.

El promedio se utiliza con cargas de trabajo como bases de datos, que utilizan una gran cantidad de memoria compartida. Para las cargas de trabajo de bases de datos, también puede probar con un uso habitual del proyecto para definir un valor límite inicial apropiado utilizando el resultado de las opciones -J o -Z del comando prstat. Para obtener más información, consulte la página de comando man prstat(1M).

Intervalos de operación rcapd

Puede configurar los intervalos para las operaciones periódicas que lleve a cabo rcapd.

Todos los intervalos se especifican en segundos. En la tabla siguiente se describen las operaciones rcapd y sus valores de intervalo predeterminados.

Operación 

Valor de intervalo predeterminado en segundos 

Descripción 

scan

15 

Número de segundos entre exploraciones para los procesos que se han incorporado o extraído de una carga de trabajo del proyecto. El valor mínimo es de 1 segundo. 

sample

Número de segundos entre muestreos del tamaño del conjunto residente y las aplicaciones de límites subsiguientes. El valor mínimo es de 1 segundo. 

report

5  

Número de segundos entre actualizaciones de las estadísticas de paginación. Si se configura como 0, las estadísticas no se actualizan y la salida de rcapstat no es actual.

config

60 

Número de segundos entre reconfiguraciones. En un evento de reconfiguración, rcapadm lee el archivo de configuración para detectar las actualizaciones y busca en la base de datos project los límites de proyectos nuevos o revisados. El envío de SIGHUP a rcapd provoca una reconfiguración inmediata.

Para configurar los intervalos, consulte Cómo configurar intervalos de funcionamiento.

Cómo determinar los intervalos de exploración de rcapd

El intervalo de exploración controla la frecuencia con la que rcapd busca nuevos procesos. En los sistemas con múltiples procesos en ejecución, la exploración de la lista requiere más tiempo, de modo que quizá sea recomendable alargar el intervalo con el fin de reducir el tiempo de CPU global dedicado. Sin embargo, el intervalo de exploración también representa la cantidad de tiempo mínima durante la que debe existir un proceso para asignarse a una carga de trabajo limitada. Si hay cargas de trabajo que ejecutan múltiples procesos cortos, rcapd podría no atribuir los procesos a una carga de trabajo si se prolonga el intervalo de exploración.

Cómo determinar los intervalos de muestra

El intervalo de muestra configurado con rcapadm es la cantidad de tiempo más breve que rcapd espera entre el muestreo del uso de una carga de trabajo y la aplicación del límite si se supera. Si reduce este intervalo, de los casos rcapd aplicará los límites con mayor frecuencia, lo que posiblemente generará una mayor E/S debido a la paginación. Sin embargo, un intervalo de muestra más breve también puede disminuir el impacto que podría tener un aumento repentino del uso de memoria física de una carga de trabajo específica en otras cargas de trabajo. Se estrecha la ventana entre muestreos, en la que la carga de trabajo puede consumir memoria no afectada y posiblemente obtener memoria de otras cargas de trabajo limitadas.

Si el intervalo de muestra especificado como rcapstat es más breve que el intervalo especificado como rcapd con rcapadm, la salida de algunos intervalos puede ser cero. Esta situación tiene lugar porque rcapd no actualiza las estadísticas con mayor frecuencia que el intervalo especificado con rcapadm. El intervalo especificado con rcapadm es independiente del intervalo de muestreo que utiliza rcapstat.