Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Administración de Oracle Solaris: zonas de Oracle Solaris, zonas de Oracle Solaris 10 y gestión de recursos Oracle Solaris 11 Information Library (Español) |
Parte I Gestión de recursos de Oracle Solaris
1. Introducción a la gestión de recursos
2. Proyectos y tareas (información general)
3. Administración de proyectos y tareas
4. Contabilidad ampliada (descripción general)
5. Administración de contabilidad ampliada (tareas)
6. Controles de recursos (descripción general)
Conceptos de controles de recursos
Límites y controles de recursos
Comunicación entre procesos y controles de recursos
Mecanismos de limitación del control de recursos
Mecanismos de atributos de proyecto
Configuración de controles de recursos y atributos
Controles de recursos disponibles
Controles de recursos de la zona
Valores de controles de recursos y niveles de privilegio
Acciones locales y globales en valores de controles de recursos
Acciones globales en valores de controles de recursos
Acciones locales en valores de controles de recursos
Propiedades e indicadores de controles de recursos
Aplicación de controles de recursos
Actualización temporal de los valores de controles de recursos en un sistema en ejecución
Actualización de estados de registro
Actualización de controles de recursos
Comandos utilizados con controles de recursos
7. Administración de controles de recursos (tareas)
8. Programador de reparto justo (descripción general)
9. Administración del programador de reparto justo (tareas)
10. Control de memoria física utilizando el daemon de límite de recursos (descripción general)
11. Administración del daemon de límite de recursos (tareas)
12. Agrupaciones de recursos (descripción general)
13. Creación y administración de agrupaciones de recursos (tareas)
14. Ejemplo de configuración de administración de recursos
Parte II Zonas de Oracle Solaris
15. Introducción a Zonas de Oracle Solaris
16. Configuración de zonas no globales (descripción general)
17. Planificación y configuración de zonas no globales (tareas)
19. Cómo instalar, iniciar, cerrar, detener, desinstalar y clonar zonas no globales (tareas)
20. Inicio de sesión en zonas no globales (descripción general)
21. Registro en zonas no globales (tareas)
22. Acerca de migraciones de zonas y la herramienta zonep2vchk
23. Migración de sistemas Oracle Solaris y migración de zonas no globales (tareas)
25. Administración de zonas de Oracle Solaris (descripción general)
26. Administración de zonas de Oracle Solaris (tareas)
27. Configuración y administración de zonas inmutables
28. Resolución de problemas relativos a las zonas de Oracle Solaris
Parte III Zonas de Oracle Solaris 10
29. Introducción a las zonas de Oracle Solaris 10
30. Evaluación de un sistema Oracle Solaris 10 y creación de un archivo
32. Configuración de la zona con marca solaris10
33. Instalación de zona con marca solaris10
34. Inicio de una zona, inicio de sesión y migración de zona
La función de controles de recursos se configura mediante la base de datos de project. Consulte el Capítulo 2, Proyectos y tareas (información general). Los controles de recursos y otros atributos se configuran en el campo final de la entrada de la base de datos project. Los valores asociados con cada control de recursos se incluyen entre paréntesis, y aparecen como texto sin formato separado por comas. Los valores entre paréntesis constituyen una "cláusula de acción". Cada cláusula de acción se compone de un nivel de privilegio, un valor umbral y una acción asociada con el umbral específico. Cada control de recurso puede tener varias cláusulas de acción, que también se separan con comas. La entrada siguiente define un límite de proceso ligero por tarea y un límite de tiempo de CPU máximo por proceso en una entidad de proyecto. process.max-cpu-time enviaría SIGTERM a un proceso después de que el proceso se ejecute durante una hora, y SIGKILL si el proceso siguiera ejecutándose durante una hora y un minuto. Consulte la Tabla 6-3.
development:101:Developers:::task.max-lwps=(privileged,10,deny); process.max-cpu-time=(basic,3600,signal=TERM),(priv,3660,signal=KILL) typed as one line
Nota - En los sistemas con zonas activadas, los controles de recursos de la zona se especifican en la configuración de zona con un formato ligeramente diferente. Consulte Datos de configuración de zonas para obtener más información.
El comando rctladm permite realizar interrogaciones de tiempo de ejecución y modificaciones en la función de controles de recursos con ámbito global. El comando prctl permite realizar interrogaciones de tiempo de ejecución y modificaciones en la función de controles de recursos, con ámbito local.
Para obtener más información, consulte Acciones locales y globales en valores de controles de recursos, rctladm(1M) y prctl(1).
Nota - En un sistema con zonas instaladas, no puede utilizar rctladm en una zona no global para modificar la configuración. Puede utilizar rctladm en una zona no global para ver el estado de registro global de cada control de recurso.
En la tabla siguiente se incluye una lista de los controles de recursos estándar disponibles en esta versión.
La tabla describe el recurso que limita cada control. Asimismo, identifica las unidades predeterminadas que utiliza la base de datos project para dicho recurso. Las unidades predeterminadas pueden ser de dos tipos:
Las cantidades representan una cantidad limitada.
Los índices representan un identificador válido máximo.
De este modo, project.cpu-shares especifica el número de recursos compartidos a los que tiene derecho el proyecto. process.max-file-descriptor especifica el número máximo de archivos que se pueden asignar a un proceso mediante la llamada de sistema open(2).
Tabla 6-1 Controles de recursos de proyectos, tareas y procesos estándar
|
Puede ver los valores predeterminados de los controles de recursos de un sistema que no tenga controles de recursos definidos ni cambiados. Dicho sistema no contiene entradas que no sean predeterminadas en /etc/system o la base de datos project. Para ver los valores, utilice el comando prctl.
Los controles de recursos de la zona limitan el uso total de los recursos de todas las entidades de procesos de una zona. Los controles de recursos de la zona también pueden configurarse utilizando los nombres de propiedades globales descritos en Configuración de controles de recursos de zonas y Cómo configurar la zona.
Tabla 6-2 Controles de recursos de zonas
|
Para obtener información sobre la configuración de controles de recursos de la zona, consulte Propiedades del tipo de recurso y Cómo configurar la zona.
Tenga en cuenta que es posible aplicar un control de recurso de la zona para la zona global. Consulte Uso del programador de reparto justo en un sistema Oracle Solaris con zonas instaladas para obtener información adicional.
Los indicadores globales que identifican los tipos de controles de recursos se definen para todos los controles de recursos. El sistema utiliza los indicadores para comunicar la información de tipo básico a las aplicaciones como el comando prctl. Las aplicaciones utilizan la información para determinar lo siguiente:
Las cadenas de unidades apropiadas para cada control de recurso
La escala correcta que utilizar al interpretar valores a escala
Hay disponibles los siguientes indicadores globales:
|
Pueden utilizarse valores a escala con los controles de recursos. El ejemplo siguiente muestra un valor umbral a escala:
task.max-lwps=(priv,1K,deny)
Nota - Los comandos prctl, projadd y projmod aceptan modificadores de unidades. No puede utilizar modificadores de unidades en la base de datos project.
Un valor umbral en un control de recursos constituye un punto de aplicación en el que se pueden desencadenar acciones locales o globales, como registros.
Cada valor umbral de un control de recursos debe asociarse con un nivel de privilegio. El nivel de privilegio debe ser de uno de estos tres tipos.
Básico, que puede modificar el propietario del proceso que realiza la llamada
Con privilegios, que sólo pueden modificar los autores de la llamada con privilegios (root)
Sistema, que es fijo para la duración de la instancia del sistema operativo
Se garantiza que un control de recurso tiene un valor de sistema, definido por el sistema, o un proveedor de recursos. El valor del sistema representa qué cantidad del recurso es capaz de proporcionar la implementación actual del sistema operativo.
Puede definirse cualquier número de valores con privilegio, y sólo se permite un valor básico. A las operaciones que se llevan a cabo sin especificar un valor de privilegio se les asigna de forma predeterminada un privilegio básico.
El nivel de privilegio para un valor de control de recurso se define en el campo de privilegio del bloque de control de recurso como RCTL_BASIC, RCTL_PRIVILEGED o RCTL_SYSTEM. Consulte setrctl(2) para obtener más información. Puede utilizar el comando prctl para modificar los valores asociados con los niveles básico y con privilegios.
Hay dos categorías de acciones en los valores de controles de recursos: globales y locales.
Las acciones globales se aplican a los valores de controles de recursos para cada control de recurso del sistema. Puede utilizar el comando rctladm que se describe en la página del comando man rctladm(1M) para llevar a cabo las acciones siguientes:
Mostrar el estado global de los controles de recursos activos del sistema
Definir acciones de registro globales
Puede desactivar o activar la acción de registro global en los controles de recursos. Es posible definir la acción syslog hasta un grado específico asignando un nivel de gravedad, syslog=nivel. Las posibles configuraciones de nivel son:
debug
info
notice
warning
err
crit
alert
emerg
De modo predeterminado, no hay ningún registro global de los conflictos de controles de recursos. El nivel n/a indica los controles de recursos en los que no se puede configurar ninguna acción global.
Las acciones locales se llevan a cabo en un proceso que intenta exceder el valor de control. Para cada valor umbral que se coloca en un control de recurso, puede asociar una o más acciones. Hay tres tipos de acciones locales: none, deny y signal=. Estas tres acciones se utilizan del modo siguiente:
No se emprende ninguna acción en las solicitudes de recursos para una cantidad que supere el umbral. Esta acción resulta útil para supervisar el uso de los recursos sin que ello afecte al progreso de las aplicaciones. También puede activar un mensaje global que se muestre al superar el control de recurso, aunque el proceso que supera el umbral no se vea afectado.
Puede denegar las solicitudes de recursos para una cantidad que supere el umbral. Por ejemplo, un control de recurso task.max-lwps con la acción deny hace que la llamada de sistema fork falle si el nuevo proceso supera el valor de control. Consulte la página del comando man fork(2).
Puede activar una acción de mensaje de señal global cuando se supera el control de recurso. Se envía una señal al proceso cuando se supera el valor umbral. No se envían señales adicionales si el proceso consume recursos adicionales. En la Tabla 6-3 se enumeran las señales disponibles.
No se pueden aplicar todas las acciones a cada control de recurso. Por ejemplo, un proceso no puede superar el número de recursos compartidos de CPU asignados al proyecto del cual es miembro. Por tanto, no se permite una acción de denegación en el control de recurso project.cpu-shares.
Debido a la restricción de la implementación, las propiedades globales de cada control pueden restringir el intervalo de acciones disponibles que se pueden configurar en el valor umbral. (Consulte la página del comando man rctladm(1M) En la tabla siguiente se presenta una lista de las acciones de señales disponibles. Para obtener información adicional sobre las señales, consulte la página del comando man signal(3HEAD).
Tabla 6-3 Señales disponibles para los valores de controles de recursos
|
Cada control de recurso del sistema tiene un grupo determinado de propiedades asociadas. Este conjunto de propiedades se define como un conjunto de indicadores, asociados con todas las instancias controladas de dicho recurso. Los indicadores globales no se pueden modificar, pero se pueden recuperar utilizando las llamadas de sistema rctladm o getrctl.
Los indicadores globales definen el comportamiento predeterminado y la configuración de un valor umbral específico de dicho control de recurso en un proceso específico o colectivo. Los indicadores locales de un valor umbral no afectan al comportamiento de otros valores umbral definidos para el mismo control de recurso. Sin embargo, los indicadores globales afectan al comportamiento de cada valor asociado con un control particular. Los indicadores locales pueden modificarse, dentro de los límites establecidos por sus indicadores globales correspondientes, mediante el comando prctl o la llamada de sistema setrctl. Consulte setrctl(2).
Para ver una lista completa de los indicadores locales y sus definiciones, consulte rctlblk_set_value(3C).
Para determinar el comportamiento del sistema cuando se alcanza un valor umbral para un control de recurso concreto, utilice rctladm para ver los indicadores globales para el control de recurso. Por ejemplo, para ver los valores de process.max-cpu-time, escriba lo siguiente:
$ rctladm process.max-cpu-time process.max-cpu-time syslog=off [ lowerable no-deny cpu-time inf seconds ]
Los indicadores globales significan lo siguiente.
No se requieren privilegios de superusuario para reducir los valores con privilegios para este control.
Nunca se deniega el acceso al recurso, ni siquiera cuando se superan los valores umbral.
SIGXCPU está disponible para su envío cuando se alcanzan los valores umbral de este recurso.
Valor de tiempo para el control de recurso.
Los valores de control de recurso con el tipo de privilegio basic no se pueden establecer. Sólo se permiten valores de control de recurso con privilegios.
Una acción de señal local no se puede establecer en valores de control de recurso.
La acción de mensaje syslog global no se puede establecer para este control de recurso.
Siempre que se sobrepasen los valores de umbral, deniegue la solicitud de recursos.
Valor (entero) de cantidad para el control de recurso.
Unidad de tamaño de control de recurso.
Utilice el comando prctl para ver las acciones y los valores locales para el control de recurso.
$ prctl -n process.max-cpu-time $$ process 353939: -ksh NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-cpu-time privileged 18.4Es inf signal=XCPU - system 18.4Es inf none
El indicador max (RCTL_LOCAL_MAXIMAL) se configura para ambos valores umbral, y el indicador inf (RCTL_GLOBAL_INFINITE) se define para este control de recurso. Un valor inf tiene una cantidad infinita. El valor nunca se aplica. Por ello, ambas cantidades umbral representan valores infinitos que nunca se superan.
Un recurso puede tener más de un control de recurso. Puede haber un control de recurso en cada nivel de contenido en el modelo de proceso. Si hay controles de recursos activos en el mismo recurso en diferentes niveles de contenido, se aplicará en primer lugar el control del contenedor más pequeño. De este modo, la acción se lleva a cabo en process.max-cpu-time antes que en task.max-cpu-time si ambos controles se encuentran de forma simultánea.
Figura 6-1 Procesos colectivos, relaciones de contenedores y sus conjuntos de controles de recursos
A menudo, se desconoce el consumo de recursos de los procesos. Para obtener más información, utilice las acciones de control de recursos globales disponibles con el comando rctladm. Utilice rctladm para establecer una acción syslog en un control de recursos. A continuación, si una entidad administrada por dicho control de recurso se encuentra con un valor umbral, se registra un mensaje del sistema en el nivel de registro configurado. Si desea más información, consulte el Capítulo 7, Administración de controles de recursos (tareas) y la página del comando man rctladm(1M).