Administración de la gestión de recursos en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Cómo definir el número máximo de procesos ligeros para cada tarea de un proyecto

Este procedimiento agrega un proyecto denominado x-files al archivo /etc/project y establece un número máximo de procesos ligeros para una tarea creada en el proyecto.

  1. Conviértase en root o asuma un rol similar.
  2. Utilice el comando projadd con la opción –K para crear un proyecto denominado x-files. Defina el número máximo de procesos ligeros para cada tarea creada en el proyecto como 3.
    # projadd -K 'task.max-lwps=(privileged,3,deny)' x-files
  3. Visualice la entrada en el archivo /etc/project siguiendo uno de estos métodos:
    • Escriba:

      # projects -l
      system
              projid : 0
              comment: ""
              users  : (none)
              groups : (none)
              attribs: 
      .
      .
      .
      x-files
              projid : 100
              comment: ""
              users  : (none)
              groups : (none)
              attribs: task.max-lwps=(privileged,3,deny)
    • Escriba:

      # cat /etc/project
      system:0:System:::
      .
      .
      .
      x-files:100::::task.max-lwps=(privileged,3,deny)
Ejemplo 7-1  Ejemplo de sesión

Una vez implementados los pasos de este procedimiento, cuando el usuario root cree una tarea nueva en el proyecto x-files uniendo el proyecto con newtask, el usuario no podrá crear más de tres procesos ligeros mientras se ejecute esta tarea. Esto puede verse en la siguiente sesión de ejemplo.

# newtask -p x-files csh

# prctl -n task.max-lwps $$
process: 111107: csh
NAME    PRIVILEGE    VALUE    FLAG   ACTION            RECIPIENT
task.max-lwps
        usage            3
        privileged       3       -   deny                      -
        system       2.15G     max   deny                      -
# id -p
uid=0(root) gid=1(other) projid=100(x-files)

# ps -o project,taskid -p $$
 PROJECT TASKID
 x-files    73

# csh        /* creates second LWP */

# csh        /* creates third LWP */

# csh        /* cannot create more LWPs */
Vfork failed
#