Este capítulo contiene procedimientos para configurar y utilizar el daemon de límite de recursos rcapd.
Para ver una descripción general de rcapd, consulte el Capítulo 10Control de memoria física utilizando el daemon de límite de recursos (descripción general).
Tarea |
Descripción |
Para obtener instrucciones |
---|---|---|
Definir el umbral de aplicación del límite de memoria. |
Configura un límite que se aplicará cuando haya demasiado poca memoria física disponible para los procesos. |
Cómo establecer el umbral de aplicación del límite de memoria |
Definir el intervalo de operación. |
El intervalo se aplica a las operaciones periódicas que lleva a cabo el daemon de límite de recursos. | |
Activar límite de recursos. |
Activa el límite de recursos en el sistema. | |
Desactivar límite de recursos. |
Desactiva el límite de recursos del sistema. | |
Límite de informe e información del proyecto. |
Visualiza comandos de ejemplo para producir informes. | |
Supervisar el tamaño del conjunto residente de un proyecto. |
Produce un informe del tamaño del conjunto residente de un proyecto. | |
Determinar el tamaño del conjunto de trabajo de un proyecto. |
Produce un informe del tamaño del conjunto de trabajo de un proyecto. |
Cómo determinar el tamaño del conjunto de trabajo de un proyecto |
Informe sobre el uso y los límites de la memoria. |
Imprime una línea de aplicación del límite y el uso de la memoria al final del informe para cada intervalo. |
Informes del uso de la memoria y el umbral de aplicación del límite de la memoria |
Esta sección contiene los procedimientos para configurar el daemon de límite de recursos con el comando rcapadm. Consulte Configuración de rcapd y la página del comando man rcapadm(1M) para obtener información adicional. El uso de rcapadm para especificar un límite de recursos temporal para una zona también queda cubierto.
Si se utiliza sin argumentos, rcapadm muestra el estado actual del daemon de límite de recursos si se ha configurado.
Pueden configurarse los límites para que no se apliquen hasta que quede poca memoria física disponible para los procesos. Consulte Umbral de aplicación de límite de memoria para obtener más información.
El valor mínimo (y predeterminado) es 0, lo que significa que los límites de memoria siempre se aplican. Para definir un mínimo distinto, siga este procedimiento.
Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.
El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte el apartado Managing RBAC (Task Map) en System Administration Guide: Security Services.
Utilice la opción -c de rcapadm para definir un valor de uso de memoria física distinto para la aplicación del límite de memoria.
# rcapadm -c percent |
por ciento va de 0 a 100. Los valores más altos son menos restrictivos. Un valor más elevado significa que las cargas de trabajo del proyecto limitado pueden ejecutarse sin tener los límites aplicados hasta que el uso de memoria del sistema supere este umbral.
Para ver el uso actual de la memoria física y el umbral de aplicación del límite, consulte Informes del uso de la memoria y el umbral de aplicación del límite de la memoria.
Intervalos de operación rcapd contiene información sobre los intervalos para las operaciones periódicas que lleva a cabo rcapd. Siga este procedimiento para configurar los intervalos de funcionamiento utilizando rcapadm.
Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.
El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte el apartado Managing RBAC (Task Map) en System Administration Guide: Security Services.
Utilice la opción -i para configurar los valores del intervalo.
# rcapadm -i interval=value,...,interval=value |
Todos los valores de intervalo se especifican en segundos.
Existen tres modos de activar los límites de recursos en el sistema. La activación de los límites de recursos también configura el archivo /etc/rcap.conf con los valores predeterminados.
Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.
El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte el apartado Managing RBAC (Task Map) en System Administration Guide: Security Services.
Active el daemon de límite de recursos mediante uno de estos procedimientos:
Active los límites de recursos utilizando el comando svcadm.
# svcadm enable rcap |
Active el daemon de límite de recursos para que se inicie ahora y también cada vez que se inicie el sistema. Para ello, escriba:
# rcapadm -E |
Active el daemon de límite de recursos al iniciar sin iniciarlo ahora especificando también la opción -n:
# rcapadm -n -E |
Hay tres modos de desactivar los límites de recursos del sistema.
Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.
El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte el apartado Managing RBAC (Task Map) en System Administration Guide: Security Services.
Desactive el daemon de límite de recursos mediante uno de estos procedimientos:
Desactive el límite de recursos utilizando el comando svcadm.
# svcadm disable rcap |
Para desactivar el daemon de límite de recursos para que se detenga ahora y que no se inicie al iniciar el sistema, escriba:
# rcapadm -D |
Para desactivar el daemon de límite de recursos sin detenerlo, especifique también la opción -n:
# rcapadm -n -D |
Desactivación segura del daemon de límite de recursos
Utilice los comandos svcadm o rcapadm con -D para desactivar rcapd de forma segura. Si se cierra el daemon (consulte la página del comando man kill(1)), los procesos podrían quedar detenidos y deberían reiniciarse manualmente. Para reanudar un proceso en ejecución, utilice el comando prun. Consulte la página del comando man prun(1) para obtener más información.
Este procedimiento se utiliza para asignar la cantidad máxima de memoria que puede consumir una zona especificada. Este valor sólo dura hasta la próxima vez que se reinicie. Para establecer un límite persistente, utilice el comando zonecfg.
Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.
El rol de administrador del sistema incluye el perfil de administración de procesos.
Establezca un valor máximo de memoria de 512 MB para la zona my-zone.
# rcapadm -z testzone -m 512M |
Utilice rcapstat para registrar las estadísticas de límites de recursos. Supervisión del uso de recursos con rcapstat explica cómo utilizar el comando rcapstat para generar informes. En dicha sección también se describen las cabeceras de columna en el informe. La página del comando man rcapstat(1) también contiene esta información.
Las siguientes subsecciones utilizan ejemplos para ilustrar el modo en que se producen informes para fines específicos.
En este ejemplo, se definen límites para dos proyectos asociados con dos usuarios. user1 tiene un límite de 50 megabytes y user2 un límite de 10 megabytes.
El comando siguiente produce cinco informes a intervalos de muestreo de 5 segundos.
user1machine% rcapstat 5 5 id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 50M 0K 3312K 0K 78194 user2 1 2368K 1856K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1856K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1928K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1928K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1928K 10M 0K 0K 0K 0K |
Las tres primeras líneas de la salida constituyen el primer informe, que contiene el límite y la información del proyecto para los dos proyectos y las estadísticas de paginación desde el inicio de rcapd. Las columnas at y pg tienen un número mayor que cero para user1 y cero para user2, lo que indica que en algún punto del historial del daemon user1 ha superado su límite pero user2 no lo ha hecho.
Los informes subsiguientes no muestran ninguna actividad significativa.
En el ejemplo siguiente se muestra el user1 del proyecto, que fue un RSS que superó su límite.
El comando siguiente produce cinco informes a intervalos de muestreo de 5 segundos.
user1machine% rcapstat 5 5 |
id project nproc vm rss cap at avgat pg avgpg 376565 user1 3 6249M 6144M 6144M 690M 220M 5528K 2764K 376565 user1 3 6249M 6144M 6144M 0M 131M 4912K 1637K 376565 user1 3 6249M 6171M 6144M 27M 147M 6048K 2016K 376565 user1 3 6249M 6146M 6144M 4872M 174M 4368K 1456K 376565 user1 3 6249M 6156M 6144M 12M 161M 3376K 1125K |
El proyecto user1 tiene tres procesos que utilizan activamente la memoria física. Los valores positivos de la columna pg indican que rcapd está extrayendo de forma coherente la memoria al intentar alcanzar el límite bajando el uso de la memoria física de los procesos del proyecto. Sin embargo, rcapd no consigue mantener el RSS por debajo del valor límite. Esto se indica mediante los valores rss variables que no muestran una disminución correspondiente. En cuanto se extrae la memoria, la carga de trabajo vuelve a utilizarla y el número de RSS vuelve a subir. Esto significa que toda la memoria residente del proyecto se está utilizando de forma activa y el tamaño del conjunto de trabajo (WSS) es superior al límite. De este modo, rcapd fuerza la extracción de parte del conjunto de trabajo para cumplir el límite. Con esta condición, el sistema seguirá experimentando altos índices de fallos de paginación y la E/S asociada, hasta que tenga lugar una de las condiciones siguientes:
Se reduzca el WSS.
Se aumente el límite.
La aplicación cambie su patrón de acceso a la memoria.
En esta situación, la reducción del intervalo de muestreo podría disminuir la discrepancia entre el valor de RSS y el límite al hacer que rcapd muestree la carga de trabajo y aplique los límites con mayor frecuencia.
Se produce un fallo de página cuando debe crearse una página o el sistema debe copiar una página desde un dispositivo de intercambio.
El ejemplo siguiente es una continuación del anterior, y utiliza el mismo proyecto.
El ejemplo anterior muestra que el proyecto user1 está utilizando más memoria física de lo que permite su límite. Este ejemplo muestra cuánta memoria requiere la carga de trabajo del proyecto.
user1machine% rcapstat 5 5 id project nproc vm rss cap at avgat pg avgpg 376565 user1 3 6249M 6144M 6144M 690M 0K 689M 0K 376565 user1 3 6249M 6144M 6144M 0K 0K 0K 0K 376565 user1 3 6249M 6171M 6144M 27M 0K 27M 0K 376565 user1 3 6249M 6146M 6144M 4872K 0K 4816K 0K 376565 user1 3 6249M 6156M 6144M 12M 0K 12M 0K 376565 user1 3 6249M 6150M 6144M 5848K 0K 5816K 0K 376565 user1 3 6249M 6155M 6144M 11M 0K 11M 0K 376565 user1 3 6249M 6150M 10G 32K 0K 32K 0K 376565 user1 3 6249M 6214M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K |
A mitad del ciclo, el límite del proyecto user1 se aumenta de 6 a 10 gigabytes. Este aumento detiene la aplicación del límite y permite el aumento del tamaño del conjunto residente, limitado sólo por los demás procesos y la cantidad de memoria del equipo. La columna rss podría estabilizarse para reflejar el tamaño del conjunto de trabajo del proyecto (WSS), en este caso 6247M. Se trata del valor de límite mínimo que permite que los procesos del proyecto funcionen sin incurrir en fallos de página continuos.
Mientras que el límite de user1 es de 6 s, en cada intervalo de 5 segundos el RSS disminuye y la E/S aumenta mientras rcapd extrae parte de la memoria de la carga de trabajo. Un poco después de completar la extracción, la carga de trabajo, que necesita dichas páginas, las vuelve a insertar mientras sigue ejecutándose. Este ciclo se repite hasta que se eleva el límite a 10 gigabytes, aproximadamente por la mitad del ejemplo. El RSS se estabiliza en 6,1 gigabytes. Dado que el RSS de la carga de trabajo está ahora por debajo del límite, no se produce ninguna paginación adicional. También se detiene la E/S asociada con la paginación. De este modo, el proyecto necesita 6,1 gigabytes para llevar a cabo el trabajo que estaba realizando en el momento en que se observó.
Consulte también las páginas del comando man vmstat(1M) y iostat(1M).
La opción -g de rcapstat permite registrar lo siguiente:
Uso actual de la memoria física como porcentaje de la memoria física instalada en el sistema
Umbral de aplicación del límite de memoria del sistema definido por rcapadm
La opción -g imprime una línea de aplicación del límite y el uso de la memoria al final del informe para cada intervalo.
# rcapstat -g id project nproc vm rss cap at avgat pg avgpg 376565 rcap 0 0K 0K 10G 0K 0K 0K 0K physical memory utilization: 55% cap enforcement threshold: 0% id project nproc vm rss cap at avgat pg avgpg 376565 rcap 0 0K 0K 10G 0K 0K 0K 0K physical memory utilization: 55% cap enforcement threshold: 0% |