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

Capítulo 13 Creación y administración de agrupaciones de recursos (tareas)

En este capítulo se describe cómo configurar y administrar agrupaciones de recursos en el sistema.

Para obtener información esencial sobre las agrupaciones de recursos, consulte el Capítulo 12Agrupaciones de recursos (descripción general).

Administración de agrupaciones de recursos dinámicos (mapa de tareas)

Tarea 

Descripción 

Para obtener instrucciones 

Activar o desactivar las agrupaciones de recursos. 

Activa o desactiva las agrupaciones de recursos del sistema. 

Activación y desactivación de la función de agrupaciones

Activar o desactivar las agrupaciones de recursos dinámicos. 

Activa o desactiva las funciones de agrupaciones de recursos dinámicos del sistema. 

Activación y desactivación de la función de agrupaciones

Crear una configuración de agrupaciones de recursos estáticos. 

Crea un archivo de configuración estática que coincide con la configuración dinámica actual. Para obtener más información, consulte Estructura de agrupaciones de recursos.

Cómo crear una configuración estática

Modificar una configuración de agrupaciones de recursos. 

Revisa una configuración de agrupaciones del sistema, por ejemplo, creando agrupaciones adicionales. 

Cómo modificar una configuración

Asociar una agrupación de recursos con una clase de planificación. 

Asocia una agrupación con una clase de planificación para que todos los procesos vinculados a la agrupación utilicen el planificador especificado. 

Cómo asociar una agrupación con una clase de planificación

Definir restricciones y objetivos de configuración. 

Especifica los objetivos que debe tener en cuenta poold a la hora de emprender una acción correctiva. Para obtener más información sobre los objetivos de configuración, consulte Descripción general de poold.

Cómo establecer restricciones de configuración and Cómo definir los objetivos de configuración

Definir el nivel de registro. 

Especifica el nivel de información de registro que genera poold.

Cómo establecer el nivel de registro de poold

Usar un archivo de texto con el comando poolcfg.

El comando poolcfg puede obtener información de un archivo de texto.

Cómo utilizar los archivos de comando con poolcfg

Transferir recursos en el núcleo. 

Transferir recursos en el núcleo. Por ejemplo, transfiere recursos con ID específicos a un conjunto de destino. 

Transferencia de recursos

Activar una configuración de agrupaciones. 

Activa la configuración en el archivo de configuración predeterminado. 

Cómo activar una configuración de agrupaciones

Validar una configuración de agrupaciones antes de confirmar la configuración. 

Valida una configuración de agrupaciones para probar qué ocurrirá cuando tenga lugar la validación. 

Cómo validar una configuración antes de confirmarla

Eliminar una configuración de agrupaciones del sistema. 

Todos los recursos asociados, como los conjuntos de procesadores, se devuelven a su estado predeterminado. 

Cómo eliminar una configuración de agrupaciones

Vincular procesos a una agrupación. 

Asociar manualmente un proceso en ejecución en el sistema con una agrupación de recursos. 

Cómo vincular procesos a una agrupación

Vincular tareas o proyectos a una agrupación. 

Asocia tareas o proyectos con una agrupación de recursos. 

Cómo vincular tareas o proyectos a una agrupación

Vincular procesos nuevos a una agrupación de recursos. 

Para vincular automáticamente los procesos nuevos de un proyecto a una agrupación específica, añada un atributo a cada entrada de la base de datos project.

Cómo configurar el atributo project.pool para un proyecto

Utilizar el atributo project para vincular un proceso a una agrupación diferente.

Modifica la vinculación de agrupaciones para los nuevos procesos que se inician. 

Cómo utilizar los atributos project para vincular un proceso a una agrupación diferente

Utilizar la utilidad poolstat para crear informes.

Crea múltiples informes en los intervalos especificados. 

Creación de varios informes en los intervalos especificados

Mostrar estadísticas del conjunto de recursos. 

Utiliza la utilidad poolstat para mostrar estadísticas para un conjunto de recursos pset.

Registro de estadísticas del conjunto de recursos

Activación y desactivación de la función de agrupaciones

A partir de Solaris 10 11/06, puede activar y desactivar los servicios de las agrupaciones de recursos y agrupaciones de recursos dinámicos en el sistema utilizando el comando svcadm que se describe en la página del comando man svcadm(1M).

También puede utilizar el comando pooladm descrito en la página del comando man pooladm(1M) para realizar las tareas siguientes:


Nota –

Cuando se actualiza un sistema, si la estructura de las agrupaciones de recursos está activada y existe el archivo /etc/pooladm.conf, se activa el servicio de agrupaciones y la configuración que contiene el archivo se aplica al sistema.


ProcedureSolaris 10 11/06 y posteriores: Cómo activar el servicio de agrupaciones de recursos utilizando svcadm

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Active el servicio de agrupaciones de recursos.


    # svcadm enable system/pools:default
    

ProcedureSolaris 10 11/06 y posteriores: Cómo desactivar el servicio de agrupaciones de recursos utilizando svcadm

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Desactive el servicio de agrupaciones de recursos.


    # svcadm disable system/pools:default
    

ProcedureSolaris 10 11/06 y posteriores: Cómo activar el servicio de agrupaciones de recursos dinámicos utilizando svcadm

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de derechos de administración de servicios.

    Las funciones incluyen autorizaciones y comandos con privilegios. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte Configuring RBAC (Task Map) de System Administration Guide: Security ServicesManaging RBAC (Task Map) in System Administration Guide: Security Services.

  2. Active el servicio de agrupaciones de recursos dinámicos.


    # svcadm enable system/pools/dynamic:default
    

Ejemplo 13–1 Dependencia del servicio de agrupaciones de recursos dinámicos del servicio de agrupaciones de recursos

Este ejemplo muestra que primero debe activar las agrupaciones de recursos si desea ejecutar las asignaciones de recursos dinámicos.

Existe una dependencia entre las agrupaciones de recursos y las agrupaciones de recursos dinámicos. La asignación de recursos dinámicos es ahora un servicio dependiente de las agrupaciones de recursos. La asignación de recursos dinámicos puede activarse y desactivarse de forma independiente de las agrupaciones de recursos.

A continuación se muestra que tanto las agrupaciones de recursos como las agrupaciones de recursos dinámicos están desactivadas:


# svcs *pool*
STATE          STIME    FMRI
disabled       10:32:26 svc:/system/pools/dynamic:default
disabled       10:32:26 svc:/system/pools:default

Active las agrupaciones de recursos dinámicos:


# svcadm enable svc:/system/pools/dynamic:default
# svcs -a | grep pool
disabled       10:39:00 svc:/system/pools:default
offline        10:39:12 svc:/system/pools/dynamic:default

Observe que el servicio de asignaciones de recursos dinámicos sigue estando desactivado.

Utilice la opción -x del comando svcs para determinar por qué está desconectado el servicio de asignaciones de recursos dinámicos:


# svcs -x *pool*
svc:/system/pools:default (resource pools framework)
 State: disabled since Wed 25 Jan 2006 10:39:00 AM GMT
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: libpool(3LIB)
   See: pooladm(1M)
   See: poolbind(1M)
   See: poolcfg(1M)
   See: poolstat(1M)
   See: /var/svc/log/system-pools:default.log
Impact: 1 dependent service is not running.  (Use -v for list.)

svc:/system/pools/dynamic:default (dynamic resource pools)
 State: offline since Wed 25 Jan 2006 10:39:12 AM GMT
Reason: Service svc:/system/pools:default is disabled.
   See: http://sun.com/msg/SMF-8000-GE
   See: poold(1M)
   See: /var/svc/log/system-pools-dynamic:default.log
Impact: This service is not running.

Active el servicio de agrupaciones de recursos para que se pueda ejecutar el servicio de asignaciones de recursos dinámicos:


# svcadm enable svc:/system/pools:default

Cuando se utiliza el comando svcs *pool*, el sistema muestra:


# svcs *pool*
STATE          STIME    FMRI
online         10:40:27 svc:/system/pools:default
online         10:40:27 svc:/system/pools/dynamic:default


Ejemplo 13–2 Efecto en las agrupaciones de recursos dinámicos cuando el servicio de agrupaciones de recursos está desactivado

Si ambos servicios están activados y desactiva el servicio de agrupaciones de recursos:


# svcadm disable svc:/system/pools:default 

Cuando se utiliza el comando svcs *pool*, el sistema muestra:


# svcs *pool*
STATE          STIME    FMRI
disabled       10:41:05 svc:/system/pools:default
online         10:40:27 svc:/system/pools/dynamic:default
# svcs *pool*
STATE          STIME    FMRI
disabled       10:41:05 svc:/system/pools:default
online         10:40:27 svc:/system/pools/dynamic:default

Finalmente, el servicio de asignaciones de recursos dinámicos pasa a offline porque se ha desactivado el servicio de agrupaciones de recursos:


# svcs *pool*
STATE          STIME    FMRI
disabled       10:41:05 svc:/system/pools:default
offline        10:41:12 svc:/system/pools/dynamic:default

Determine por qué está desconectado el servicio de asignaciones de recursos dinámicos:


# svcs -x *pool*
svc:/system/pools:default (resource pools framework)
 State: disabled since Wed 25 Jan 2006 10:41:05 AM GMT
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: libpool(3LIB)
   See: pooladm(1M)
   See: poolbind(1M)
   See: poolcfg(1M)
   See: poolstat(1M)
   See: /var/svc/log/system-pools:default.log
Impact: 1 dependent service is not running.  (Use -v for list.)

svc:/system/pools/dynamic:default (dynamic resource pools)
 State: offline since Wed 25 Jan 2006 10:41:12 AM GMT
Reason: Service svc:/system/pools:default is disabled.
   See: http://sun.com/msg/SMF-8000-GE
   See: poold(1M)
   See: /var/svc/log/system-pools-dynamic:default.log
Impact: This service is not running.

Para que funcionen las asignaciones de recursos dinámicos, es necesario haber iniciado la agrupaciones de recursos. Por ejemplo, para iniciar las agrupaciones de recursos podría utilizarse el comando pooladm con la opción -e:


# pooladm -e

A continuación se muestra el comando svcs *pool*:


# svcs *pool*
STATE          STIME    FMRI
online         10:42:23 svc:/system/pools:default
online         10:42:24 svc:/system/pools/dynamic:default

ProcedureSolaris 10 11/06 y posteriores: Cómo desactivar el servicio de agrupaciones de recursos dinámicos utilizando svcadm

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Desactive el servicio de agrupaciones de recursos dinámicos.


    # svcadm disable system/pools/dynamic:default
    

ProcedureCómo activar las agrupaciones de recursos utilizando pooladm

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Active la función de agrupaciones.


    # pooladm -e
    

ProcedureCómo desactivar las agrupaciones de recursos utilizando pooladm

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Desactive la función de agrupaciones.


    # pooladm -d
    

Configuración de agrupaciones

ProcedureCómo crear una configuración estática

Utilice la opción -s para /usr/sbin/pooladm con el fin de crear un archivo de configuración estática que coincida con la configuración dinámica actual. A menos que se especifique un nombre de archivo diferente, se utiliza la ubicación predeterminada /etc/pooladm.conf.

Confirme su configuración utilizando el comando pooladm con la opción -c. A continuación, utilice el comando pooladm con la opción -s para actualizar la configuración estática para que coincida con el estado de la configuración dinámica.


Nota –

La nueva funcionalidad pooladm -s tiene prioridad sobre la funcionalidad anterior poolcfg -c discover a la hora de crear una configuración que coincida con la configuración dinámica.


Antes de empezar

Active las agrupaciones en el sistema.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Actualice el archivo de configuración estática para que coincida con la configuración dinámica actual.


    # pooladm -s
    
  3. Visualice el contenido del archivo de configuración en un formato legible.

    Tenga en cuenta que la configuración contiene elementos predeterminados creados por el sistema.


    # poolcfg -c info
    system tester
            string  system.comment
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
  4. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  5. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo modificar una configuración

Para mejorar la configuración, cree un conjunto de procesadores denominado pset_batch y una agrupación denominada pool_batch. A continuación, asocie la agrupación con el conjunto de procesadores.

Tenga en cuenta que debe incluir entre comillas los argumentos de subcomandos que contengan espacios.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Cree el conjunto de procesadores pset_batch.


    # poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)'
    
  3. Cree la agrupación pool_batch.


    # poolcfg -c 'create pool pool_batch'
    
  4. Asocie la agrupación con el conjunto de procesadores.


    # poolcfg -c 'associate pool pool_batch (pset pset_batch)'
    
  5. Visualice la configuración editada.


    # poolcfg -c info
    system tester
            string  system.comment kernel state
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
    
            pool pool_batch
                    boolean pool.default false
                    boolean pool.active true
                    int pool.importance 1
                    string pool.comment
                    pset pset_batch
    
            pset pset_batch
                    int pset.sys_id -2
                    string pset.units population
                    boolean pset.default true
                    uint pset.max 10
                    uint pset.min 2
                    string pset.comment
                    boolean pset.escapable false
                    uint pset.load 0
                    uint pset.size 0
    
                    cpu
                            int     cpu.sys_id 5
                            string  cpu.comment
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 4
                            string  cpu.comment
                            string  cpu.status on-line
  6. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  7. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo asociar una agrupación con una clase de planificación

Puede asociar una agrupación con una clase de planificación para que todos los procesos vinculados a la agrupación utilicen este programador. Para ello, configure la propiedad pool.scheduler con el nombre del programador. Este ejemplo asocia la agrupación pool_batch con el programador de reparto justo (FSS).

  1. 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 "Managing RBAC (Task Map)" en System Administration Guide: Security Services.

  2. Modifique la agrupación pool_batch que se asociará con FSS.


    # poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")'
    
  3. Visualice la configuración editada.


    # poolcfg -c info
    system tester
            string  system.comment
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
    
            pool pool_batch
                    boolean pool.default false
                    boolean pool.active true
                    int pool.importance 1
                    string pool.comment
                    string pool.scheduler FSS
                    pset batch
    
            pset pset_batch
                    int pset.sys_id -2
                    string pset.units population
                    boolean pset.default true
                    uint pset.max 10
                    uint pset.min 2
                    string pset.comment
                    boolean pset.escapable false
                    uint pset.load 0
                    uint pset.size 0
    
                    cpu
                            int     cpu.sys_id 5
                            string  cpu.comment
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 4
                            string  cpu.comment
                            string  cpu.status on-line
  4. Confirme la configuración en /etc/pooladm.conf:


    # pooladm -c
    
  5. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo establecer restricciones de configuración

Las restricciones afectan a las posibles configuraciones al eliminar algunos de los posibles cambios que podrían realizarse en una configuración. Este procedimiento muestra cómo definir la propiedad cpu.pinned.

En los ejemplos siguientes, cpuid es un entero.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Modifique la propiedad cpu.pinned en la configuración estática o dinámica:

    • Modifique la configuración de tiempo de inicio (estática):


      # poolcfg -c 'modify cpu <cpuid> (boolean cpu.pinned = true)'
      
    • Modifique la configuración en ejecución (dinámica) sin modificar la configuración del tiempo de inicio:


      # poolcfg -dc 'modify cpu <cpuid> (boolean cpu.pinned = true)'
      

ProcedureCómo definir los objetivos de configuración

Puede especificar objetivos que debe tener en cuenta poold al llevar a cabo la acción correctiva.

En el procedimiento siguiente, se configura el objetivo wt-load para que poold intente asociar la asignación de recursos con el uso de recursos. El objetivo locality está desactivado para poder alcanzar este objetivo de configuración.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Modifique el sistema tester para favorecer el objetivo wt-load.


    # poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")'
    
  3. Desactive el objetivo locality para el conjunto de procesadores predeterminado.


    # poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")'
    
  4. Desactive el objetivo locality para el conjunto de procesadores pset_batch.


    # poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")'
    
  5. Visualice la configuración editada.


    # poolcfg -c info
    system tester
            string  system.comment
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
            string  system.poold.objectives wt-load
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
                    string  pset.poold.objectives locality none
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
    
            pool pool_batch
                    boolean pool.default false
                    boolean pool.active true
                    int pool.importance 1
                    string pool.comment
                    string pool.scheduler FSS
                    pset batch
    
            pset pset_batch
                    int pset.sys_id -2
                    string pset.units population
                    boolean pset.default true
                    uint pset.max 10
                    uint pset.min 2
                    string pset.comment
                    boolean pset.escapable false
                    uint pset.load 0
                    uint pset.size 0
                    string  pset.poold.objectives locality none
    
                    cpu
                            int     cpu.sys_id 5
                            string  cpu.comment
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 4
                            string  cpu.comment
                            string  cpu.status on-line
  6. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  7. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo establecer el nivel de registro de poold

Para especificar el nivel de información de registro que genera poold, defina la propiedad system.poold.log-level en la configuración de poold. La configuración de poold se realiza en la configuración de libpool. Para obtener mas información, consulte Información de registro de poold y las páginas del comando man poolcfg(1M) y libpool(3LIB).

También puede utilizar el comando poold en la línea de comandos para especificar el nivel de información de registro que genera poold.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Defina el nivel de registro utilizando el comando poold con la opción -l y un parámetro, por ejemplo, INFO.


    # /usr/lib/pool/poold -l INFO
    

    Para obtener información sobre los parámetros disponibles, consulte Información de registro de poold. El nivel de registro predeterminado es NOTICE.

ProcedureCómo utilizar los archivos de comando con poolcfg

El comando poolcfg con la opción -f puede obtener información de un archivo de texto que contenga argumentos de subcomando poolcfg para la opción -c. Este método resulta adecuado si desea establecer las operaciones que se llevarán a cabo. Cuando se procesan varios comandos, la configuración sólo se actualiza si todos los comandos son correctos. En el caso de las configuraciones complejas o de mayor tamaño, esta técnica puede ser más útil que las invocaciones por subcomandos.

Tenga en cuenta que los archivos de comando, el carácter # actúa como marca de comentario para el resto de la línea.

  1. Cree el archivo de entrada poolcmds.txt.


    $ cat > poolcmds.txt
    create system tester
    create pset pset_batch (uint pset.min = 2; uint pset.max = 10)
    create pool pool_batch
    associate pool pool_batch (pset pset_batch)
    
  2. 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 "Managing RBAC" en System Administration Guide: Security Services.

  3. Ejecute el comando:


    # /usr/sbin/poolcfg -f poolcmds.txt
    

Transferencia de recursos

Utilice el argumento de subcomando transfer para la opción -c de poolcfg con la opción -d para transferir recursos en el núcleo. La opción -d especifica que el comando actúe directamente en el núcleo y no obtenga información de un archivo.

El siguiente procedimiento mueve dos CPU del conjunto de procesadores pset1 al conjunto de procesadores pset2 del núcleo.

ProcedureCómo mover CPU entre conjuntos de procesadores

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Mueva dos CPU de pset1 a pset2.

    Las subcláusulas from y to pueden utilizarse en cualquier orden. Sólo se admite una subcláusula to y from por comando.


    # poolcfg -dc 'transfer 2 from pset pset1 to pset2'
    

Ejemplo 13–3 Método alternativo para mover CPU entre conjuntos de procesadores

Si deben transferirse ID conocidos específicos de un tipo de recurso, se proporciona una sintaxis alternativa. Por ejemplo, el siguiente comando asigna dos CPU con los ID 0 y 2 al conjunto de procesadores pset_large:


# poolcfg -dc "transfer to pset pset_large (cpu 0; cpu 2)"

Resolución de problemas

Si falla una transferencia porque no hay suficientes recursos para la solicitud o porque no se puede encontrar los ID especificados, el sistema emitirá un mensaje de error.

Activación y eliminación de configuraciones de agrupaciones

Utilice el comando pooladm para activar una configuración de agrupación concreta o para eliminar la configuración de agrupación activa. Consulte la página del comando man pooladm(1M) para obtener más información sobre este comando.

ProcedureCómo activar una configuración de agrupaciones

Para activar la configuración en el archivo de configuración predeterminado, /etc/pooladm.conf, invoque pooladm con la opción -c de confirmación de la configuración.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  3. (Opcional) Copie la configuración dinámica en un archivo de configuración estática, por ejemplo, /tmp/backup.


    # pooladm -s /tmp/backup
    

ProcedureCómo validar una configuración antes de confirmarla

Puede utilizar la opción -n con la opción -c para probar qué ocurrirá cuando tenga lugar la validación. La configuración no se confirmará realmente.

El siguiente comando intenta validar la configuración de /home/admin/newconfig. Se muestra cualquier condición de error, pero no se modifica la configuración.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Pruebe la validez de la configuración antes de confirmarla.


    # pooladm -n -c /home/admin/newconfig
    

ProcedureCómo eliminar una configuración de agrupaciones

Para eliminar la configuración activa y devolver su estado predeterminado a todos los recursos asociados, como los conjuntos de procesadores, utilice la opción -x para eliminar la configuración.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Elimine la configuración activa.


    # pooladm -x
    

    La opción - x para pooladm elimina todos los elementos definidos por el usuario de la configuración dinámica. Todos los recursos vuelven a su estado predeterminado, y todos los vínculos de agrupaciones se sustituyen con un vínculo a la agrupación predeterminada.

Mezcla de clases de planificación en un conjunto de procesadores

Puede mezclar procesos en las clases TS e IA en el mismo conjunto de procesadores de forma segura. Si mezcla otras clases de planificación en un conjunto de procesadores, puede obtener resultados inesperados. Si el uso de pooladm -x crea clases de planificación mezcladas en un conjunto de procesadores, utilice el comando priocntl para mover los procesos en ejecución a una clase de planificación diferente. Consulte Cómo mover manualmente los procesos de la clase TS a la clase FSS. Consulte también la página del comando man priocntl(1).

Configuración de atributos de agrupaciones y vinculación a una agrupación

Puede configurar un atributo project.pool para asociar una agrupación de recursos con un proyecto.

Puede vincular un proceso en ejecución a una agrupación de dos modos:

ProcedureCómo vincular procesos a una agrupación

El procedimiento siguiente utiliza poolbind con la opción -p para vincular manualmente un proceso (en este caso, el shell activo) a una agrupación denominada ohare.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Vincule manualmente un proceso a una agrupación:


    # poolbind -p ohare $$
    
  3. Compruebe la vinculación de la agrupación para el proceso utilizando poolbind con la opción -q.


    $ poolbind -q $$
    155509 ohare

    El sistema muestra el ID de proceso y la vinculación de la agrupación.

ProcedureCómo vincular tareas o proyectos a una agrupación

Para vincular tareas o proyectos a una agrupación, utilice el comando poolbind con la opción -i. El ejemplo siguiente vincula todos los procesos del proyecto airmiles a la agrupación laguardia.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Vincule todos los procesos del proyecto airmiles a la agrupación laguardia.


    # poolbind -i project -p laguardia airmiles
    

ProcedureCómo configurar el atributo project.pool para un proyecto

Puede definir el atributo project.pool para vincular los procesos de un proyecto a una agrupación de recursos.

  1. 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 más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Añada un atributo project.pool a cada entrada de la base de datos project.


    # projmod -a -K project.pool=poolname project
    

ProcedureCómo utilizar los atributos project para vincular un proceso a una agrupación diferente

Supongamos que tiene una configuración con dos agrupaciones denominadas studio y backstage. El archivo /etc/project incluye lo siguiente:


user.paul:1024::::project.pool=studio
user.george:1024::::project.pool=studio
user.ringo:1024::::project.pool=backstage
passes:1027::paul::project.pool=backstage

Con esta configuración, los procesos que inicia el usuario paul están vinculados de forma predeterminada a la agrupación studio.

El usuario paul puede modificar la vinculación de la agrupación para los procesos que inicia. paul también puede utilizar newtask para vincular trabajos a la agrupación backstage, iniciando el proyecto passes.

  1. Inicie un proceso en el proyecto passes.


    $ newtask -l -p passes
    
  2. Utilice el comando poolbind con la opción -q para verificar la vinculación de la agrupación para el proceso. Utilice también un símbolo de doble dólar ($$) para pasar el número de proceso del shell principal al comando.


    $ poolbind -q $$
    6384  pool backstage

    El sistema muestra el ID de proceso y la vinculación de la agrupación.

Uso de poolstat para registrar estadísticas para los recursos relacionados con las agrupaciones

Se utiliza el comando poolstat para mostrar las estadísticas para los recursos relacionados con las agrupaciones. Consulte Uso de poolstat para supervisar la función de agrupaciones y el uso de los recursos y la página del comando man poolstat(1M) para obtener más información.

Las siguientes subsecciones utilizan ejemplos para ilustrar el modo en que se producen informes para fines específicos.

Visualización de la salida predeterminada de poolstat

Si escribe poolstat sin argumentos se crea una línea de cabecera y una línea de información para cada agrupación. La línea de información muestra el ID de agrupación, el nombre de la agrupación y las estadísticas de recursos para el conjunto de procesadores asociado con la agrupación.


machine% poolstat
                              pset
       id pool           size used load
        0 pool_default      4  3.6  6.2
        1 pool_sales        4  3.3  8.4

Creación de varios informes en los intervalos especificados

El comando siguiente crea tres informes a intervalos de muestreo de 5 segundos.


machine% poolstat 5 3
                               pset
 id pool                 size used load
 46 pool_sales              2  1.2  8.3
  0 pool_default            2  0.4  5.2
                              pset
 id pool                 size used load
 46 pool_sales              2  1.4  8.4
  0 pool_default            2  1.9  2.0
                              pset
 id pool                 size used load
 46 pool_sales              2  1.1  8.0
  0 pool_default            2  0.3  5.0  

Registro de estadísticas del conjunto de recursos

El ejemplo siguiente utiliza el comando poolstat con la opción -r para registrar las estadísticas para el conjunto de recursos del conjunto de procesadores. Tenga en cuenta que el conjunto de recursos pset_default está asociado a más de una agrupación, de modo que este procesador se enumera una vez para cada agrupación.


machine% poolstat -r pset
      id pool          type rid rset          min  max size used load
       0 pool_default  pset  -1 pset_default    1  65K    2  1.2  8.3
       6 pool_sales    pset   1 pset_sales      1  65K    2  1.2  8.3
       2 pool_other    pset  -1 pset_default    1  10K    2  0.4  5.2