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

Conceptos de controles de recursos

En el sistema operativo Solaris, el concepto de límite de recurso por proceso se ha extendido a las entidades de tareas y proyectos descritas en el Capítulo 2Proyectos y tareas (información general). Estas mejoras se incorporan a través de la función de controles de recursos (rctls). Asimismo, las asignaciones que se configuraban mediante opciones de /etc/system ahora son automáticas o se configuran también mediante el mecanismo de controles de recursos.

Un control de recurso puede identificarse por el prefijo zone, project, task o process. Los controles de recursos pueden observarse en todo el sistema. Es posible actualizar los valores de controles de recursos en un sistema en ejecución.

Para ver una lista de los controles de recursos estándar disponibles en esta versión, consulte Controles de recursos disponibles. Consulte Propiedades del tipo de recurso para obtener información sobre los controles de recursos disponibles de la zona.

Para ver una lista de los controles de recursos estándar disponibles en esta versión, consulte Controles de recursos disponibles.

Límites y controles de recursos

Los sistemas UNIX proporcionan tradicionalmente una función de límite de recursos ( rlimit). La función rlimit permite a los administradores configurar uno o más límites numéricos para la cantidad de recursos que puede consumir un proceso. Estos límites incluyen el tiempo de CPU utilizado por proceso, el tamaño de archivo núcleo por proceso y el tamaño de pila máximo por proceso. El tamaño de pila es la cantidad de memoria de trabajo asignada para el segmento de datos del proceso.

La función de controles de recursos ofrece interfaces de compatibilidad para la función de límites de recursos. Las aplicaciones existentes que utilizan límites de recursos siguen ejecutándose sin cambios. Estas aplicaciones pueden observarse del mismo modo que las aplicaciones modificadas para aprovechar la función de controles de recursos.

Comunicación entre procesos y controles de recursos

Los procesos pueden comunicarse entre sí utilizando uno de los distintos tipos de comunicación entre procesos (IPC). IPC permite transferir o sincronizar información entre procesos. Antes de la versión Solaris 10, los parámetros IPC configurables se establecían añadiendo una entrada al archivo /etc/system. La función de controles de recursos ahora proporciona controles de recursos que definen el comportamiento de las funciones IPC del núcleo. Estos controles de recursos sustituyen las opciones configurables de /etc/system.

Es posible que los parámetros obsoletos estén incluidos en el archivo /etc/system de este sistema Solaris. Si es el caso, los parámetros se usan para iniciar los valores de control de recursos predeterminados, al igual que en las versiones anteriores de Solaris. Sin embargo, no se recomienda el uso de los parámetros obsoletos.

Para observar qué objetos IPC contribuyen al uso de un proyecto, utilice el comando ipcs con la opción -J. Consulte Cómo utilizar ipcs para ver un ejemplo. Para obtener más información acerca del comando ipcs, consulte ipcs(1).

Para obtener información sobre la configuración del sistema Solaris, consulte Oracle Solaris Tunable Parameters Reference Manual.

Mecanismos de limitación del control de recursos

Los controles de recursos ofrecen un mecanismo para la limitación de los recursos del sistema. Es posible evitar que los procesos, tareas, proyectos y zonas consuman determinadas cantidades de recursos del sistema. Este mecanismo conduce a un sistema más eficaz, puesto que evita el consumo excesivo de recursos.

Los mecanismos de limitación pueden utilizarse para complementar los procesos de planificación de capacidades. Una limitación puede proporcionar información sobre las necesidades de recursos de una aplicación sin denegar necesariamente el recurso a la aplicación.

Mecanismos de atributos de proyecto

Los controles de recursos también pueden servir de mecanismo de atributo simple para las funciones de administración de recursos. Por ejemplo, el número de recursos compartidos de CPU disponibles para un proyecto en la clase de planificación del programador de reparto justo (FSS) se define mediante el control de recurso project.cpu-shares. Dado que el control asigna al proyecto un número fijo de recursos compartidos, las diferentes acciones que excedan el control no son relevantes. En este contexto, el valor actual del control project.cpu-shares se considera un atributo del proyecto especificado.

Otro tipo de atributo de proyecto se utiliza para regular el consumo de recursos de la memoria física por parte de los grupos de procesos asociados a un proyecto. Estos atributos tienen el prefijo rcap, por ejemplo, rcap.max-rss. Al igual que los controles de recursos, este tipo de atributo se configura en la base de datos project. Sin embargo, mientras que los controles de recursos los aplica de forma sincronizada el núcleo, los límites de recursos los aplica el daemon de aplicación de límites de recursos, rcapd, en el nivel del usuario y sin sincronización. Para obtener información sobre rcapd, consulte el Capítulo 10Control de memoria física utilizando el daemon de límite de recursos (descripción general) y rcapd (1M).

El atributo project.pool se utiliza para especificar la vinculación de agrupaciones para un proyecto. Para obtener más información sobre las agrupaciones de recursos, consulte el Capítulo 12Agrupaciones de recursos (descripción general).