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

Configuración de FSS

Proyectos y usuarios

Los proyectos son los contenedores de la carga de trabajo en el programador FSS. Los grupos de usuarios asignados a un proyecto se consideran bloques únicos. Tenga en cuenta que puede crear un proyecto con su propio número de recursos compartidos para un usuario individual.

Los usuarios pueden ser miembros de varios proyectos que tengan diferentes números de recursos compartidos asignados. Al mover procesos de un proyecto a otro, pueden asignarse diferentes cantidades de recursos de la CPU a los proyectos.

Para obtener más información sobre la base de datos project(4) y los servicios de nombres, consulte Base de datos project.

Configuración de recursos compartidos de la CPU

La configuración de los recursos compartidos de la CPU la lleva a cabo el servicio de nombres como una propiedad de la base de datos project.

Cuando la primera tarea (o proceso) que se asocia con un proyecto se crea mediante la función de biblioteca setproject(3PROJECT), el número de recursos compartidos de la CPU definidos como control de recurso project.cpu-shares en la base de datos project se pasa al núcleo. A los proyectos que no tengan definido el control de recurso project.cpu-shares se les asigna un recurso compartido.

En el ejemplo siguiente, esta entrada del archivo /etc/project define el número de recursos compartidos para el proyecto x-files como 5:


x-files:100::::project.cpu-shares=(privileged,5,none)

Si modifica el número de recursos compartidos de la CPU asignados a un proyecto en la base de datos cuando hay procesos en ejecución, el número de recursos compartidos para dicho proyecto no se modificará en ese punto. Es preciso reiniciar el proyecto para que el cambio surta efecto.

Si desea cambiar temporalmente el número de recursos compartidos asignados a un proyecto sin modificar los atributos del proyecto en la base de datos project, utilice el comando prctl. Por ejemplo, para cambiar el valor del control de recurso project.cpu-shares del proyecto x-files a 3 mientras se ejecutan los procesos asociados con dicho proyecto, escriba:


# prctl -r -n project.cpu-shares -v 3 -i project x-files

Consulte la página del comando man prctl(1) para obtener más información.

-r

Sustituye el valor actual del control de recurso nombrado.

-n nombre

Especifica el nombre del control de recurso.

-v val

Especifica el valor del control de recurso.

-i tipo_ID

Especifica el tipo de ID del siguiente argumento.

x-files

Especifica el objeto del cambio. En esta instancia, el proyecto x-files es el objeto.

El proyecto system con ID 0 incluye todos los daemons del sistema que se inician mediante secuencias de inicio de tiempo de inicio. system puede visualizarse como proyecto en un número ilimitado de recursos compartidos. Esto significa que system siempre se planifica en primer lugar, al margen de los recursos compartidos asignados a otros proyectos. Si no desea que el proyecto system tenga recursos compartidos ilimitados, puede especificar un número de recursos compartidos para este proyecto en la base de datos project.

Como se ha mencionado anteriormente, los procesos que pertenecen a proyectos con ningún recurso compartido siempre tienen la prioridad de sistema cero. Los proyectos con uno o más recursos compartidos se ejecutan con prioridades de uno o más. Por tanto, los proyectos que no tienen ningún recurso compartido sólo se programan cuando hay disponibles recursos de la CPU que no solicite ningún proyecto de recurso compartido que no sea cero.

El número máximo de recursos compartidos que se puede asignar a un proyecto es 65535.