Este capítulo descreve como configurar e administrar grupos de recursos no sistema.
Para obter informações complementares sobre grupos de recursos, consulte o Capítulo 12Grupos de recursos (visão geral).
| Tarefa | Descrição | Para instruções | 
|---|---|---|
| Ativar ou desativar grupos de recursos. | Ativar ou desativar grupos de recursos no sistema. | |
| Ativar ou desativar grupos de recursos dinâmicos. | Ativar ou desativar facilidades de grupos de recursos dinâmicos no sistema. | |
| Crie uma configuração de grupos de recursos estáticos. | Crie um arquivo de configuração estática que coincida com a configuração dinâmica atual. Para obter informações, consulte Estrutura de grupos de recursos. | |
| Modifique uma configuração de grupos de recursos. | Revise uma configuração de grupos no sistema, por exemplo criando grupos adicionais. | |
| Associe um grupo de recursos a uma classe de agendamento. | Associe um grupo a uma classe de agendamento para que todos os processos vinculados ao grupo usem o agendador especificado. | |
| Defina restrições de configuração e objetivos de configuração. | Especifique objetivos para poold a serem considerados ao tomar uma ação corretiva. Para obter mais informações sobre objetivos de configuração, consulte Visão geral de poold. | Como definir restrições de configuração e Como definir objetivos de configuração | 
| Defina o nível de registro. | Especifique o nível de informações de registro geradas por poold. | |
| Use um arquivo de texto com o comando poolcfg. | O comando poolcfg pode obter entrada de um arquivo de texto. | |
| Transfira recursos no kernel. | Transfira recursos no kernel. Por exemplo, transferir recursos com IDs específicos para um conjunto de destino. | |
| Ative uma configuração de grupo. | Ative a configuração no arquivo de configuração padrão. | |
| Valide uma configuração de grupo antes de comprometer a configuração. | Valide uma configuração de grupo para testar o que acontecerá quando a validação ocorrer. | |
| Remova do sistema uma configuração de grupo. | Todos os recursos associados, como conjuntos de processadores, são retornados para o status padrão. | |
| Vincule processos a um grupo. | Associe manualmente um processo em execução no sistema a um grupo de recursos. | |
| Vincule tarefas ou projetos a um grupo. | Associe tarefas ou projetos a um grupo de recursos. | |
| Vincule novos processos a um grupo de recursos. | Para vincular automaticamente novos processos em um projeto a um determinado grupo, adiciona um atributo a cada entrada no banco de dados de project. | |
| Use atributos project para vincular um processo a um grupo diferente. | Modifique a vinculação de grupos para novos processos que são iniciados. | Como usar atributos de project para vincular um processo a um grupo diferente | 
| Use o utilitário poolstat para produzir relatórios. | Produza vários relatórios a intervalos específicos. | |
| Relate estatísticas de conjunto de recursos. | Use o utilitário poolstat para relatar estatísticas para um conjunto de recursos pset. | 
A partir da versão Solaris 10 11/06, você pode ativar e desativar serviços de grupos de recursos e grupos de recursos dinâmicos no sistema usando o comando svcadm, descrito na página do manual svcadm(1M).
Você também pode usar o comando pooladm, descrito na página do manual pooladm(1M), para executar as seguintes tarefas:
Ativar a facilidade de grupos para que grupos possam ser manipulados
Desativar a facilidade de grupos para que grupos não possam ser manipulados
Quando o sistema é atualizado, se a estrutura de grupos de recursos estiver ativada e um arquivo /etc/pooladm.conf existir, o serviço de grupos será ativado e a configuração contida no arquivo será aplicada ao sistema.
 Solaris 10 11/06 e posterior: como ativar o serviço de grupos de recursos usando svcadm
Solaris 10 11/06 e posterior: como ativar o serviço de grupos de recursos usando svcadm
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Ative o serviço de grupos de recursos.
| # svcadm enable system/pools:default | 
 Solaris 10 11/06 e posterior: como desativar o serviço de grupos de recursos usando svcadm
Solaris 10 11/06 e posterior: como desativar o serviço de grupos de recursos usando svcadm
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Desative o serviço de grupos de recursos.
| # svcadm disable system/pools:default | 
 Solaris 10 11/06 e posterior: como ativar o serviço de grupos de recursos dinâmicos usando svcadm
Solaris 10 11/06 e posterior: como ativar o serviço de grupos de recursos dinâmicos usando svcadm
Torne-se superusuário ou assuma uma função que inclua o perfil de direitos Gerenciamento de serviço.
Funções contêm autorizações e comandos privilegiados. Para obter informações sobre como criar a função e atribuir a função a um usuário, consulte Configuring RBAC (Task Map) no System Administration Guide: Security Services Managing RBAC (Task Map) no System Administration Guide: Security Services.
Ative o serviço de grupos de recursos dinâmicos.
| # svcadm enable system/pools/dynamic:default | 
Este exemplo mostra que você deve primeiro ativar grupos de recursos, se desejar executar DRP.
Há uma dependência entre grupos de recursos e grupos de recursos dinâmicos. DRP agora é um serviço dependente de grupos de recursos. DRP pode ser ativado e desativado independentemente dos grupos de recursos.
A exibição a abaixo mostra que grupos de recursos e grupos de recursos dinâmicos estão desativados atualmente:
| # svcs *pool* STATE STIME FMRI disabled 10:32:26 svc:/system/pools/dynamic:default disabled 10:32:26 svc:/system/pools:default | 
Ative grupos 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 o serviço DRP ainda está off-line.
Use a opção -x do comando svcs para determinar por que o serviço DRP está off-line:
| # 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. | 
Ative o serviço de grupos de recursos para que o serviço DRP possa ser executado:
| # svcadm enable svc:/system/pools:default | 
Quando o comando svcs *pool* é usado, o sistema exibe:
| # svcs *pool* STATE STIME FMRI online 10:40:27 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default | 
Se os dois serviços estiverem on-line e você desativar o serviço de grupos de recursos:
| # svcadm disable svc:/system/pools:default | 
Quando o comando svcs *pool* é usado, o sistema exibe:
| # 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 | 
Mas no fim o serviço DRP passa para offline porque o serviço de grupos de recursos foi desativado:
| # svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default offline 10:41:12 svc:/system/pools/dynamic:default | 
Determine por que o serviço DRP está off-line:
| # 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. | 
Grupos de recursos devem ser iniciados para DRP funcionar. Por exemplo, grupos de recursos podem ser iniciados usando-se o comando pooladm com a opção -e:
| # pooladm -e | 
Em seguida o comando svcs *pool* exibe:
| # svcs *pool* STATE STIME FMRI online 10:42:23 svc:/system/pools:default online 10:42:24 svc:/system/pools/dynamic:default | 
 Solaris 10 11/06 e posterior: como desativar o serviço de grupos de recursos dinâmicos usando svcadm
Solaris 10 11/06 e posterior: como desativar o serviço de grupos de recursos dinâmicos usando svcadm
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Desativa o serviço de grupos de recursos dinâmicos.
| # svcadm disable system/pools/dynamic:default | 
 Como ativar grupos de recursos usando pooladm
Como ativar grupos de recursos usando pooladm 
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Ative a facilidade de grupos.
| # pooladm -e | 
 Como desativar grupos de recursos usando pooladm
Como desativar grupos de recursos usando pooladm 
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Desative a facilidade de grupos.
| # pooladm -d | 
 Como criar uma configuração estática
Como criar uma configuração estáticaUse a -s opção /usr/sbin/pooladm para criar um arquivo de configuração estática que coincida com a configuração dinâmica atual. A menos que um nome de arquivo diferente seja especificado, o local padrão /etc/pooladm.conf é usado.
Comprometa a configuração usando o comando pooladm com a opção -c. Em seguida, use o comando pooladm com a opção -s para atualizar a configuração estática, de modo que coincida com o estado da configuração dinâmica.
A nova funcionalidade pooladm -s é preferida à funcionalidade anterior poolcfg -c discover para criar uma nova configuração que coincida com a configuração dinâmica.
Ative grupos no sistema.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Atualize o arquivo de configuração estática para coincidir com a configuração dinâmica atual.
| # pooladm -s | 
Visualize o conteúdo do arquivo de configuração em uma forma legível.
Observe que a configuração contém elementos padrão criados pelo 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 | 
Comprometa a configuração em /etc/pooladm.conf .
| # pooladm -c | 
(Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática chamado /tmp/backup, digite o seguinte:
| # pooladm -s /tmp/backup | 
 Como modificar uma configuração
Como modificar uma configuraçãoPara otimizar a configuração, crie um conjunto de processadores nomeado pset_batch e um grupo nomeado pool_batch. Em seguida una o grupo e o conjunto de processados com uma associação.
Observe que você deve usar argumentos de subcomando que contenham espaço em branco.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Crie o conjunto de processadores pset_batch.
| # poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)' | 
Crie o grupo pool_batch.
| # poolcfg -c 'create pool pool_batch' | 
Una o grupo e o conjunto de processadores com uma associação.
| # poolcfg -c 'associate pool pool_batch (pset pset_batch)' | 
Exiba a configuração 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 | 
Comprometa a configuração em /etc/pooladm.conf .
| # pooladm -c | 
(Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática nomeado /tmp/backup, digite o seguinte:
| # pooladm -s /tmp/backup | 
 Como associar um grupo a uma classe de agendamento
Como associar um grupo a uma classe de agendamentoVocê pode associar um grupo a uma classe de agendamento para que todos os processos vinculados a esse grupo usem este agendador. Para isso, defina a propriedade pool.scheduler como o nome do agendador. Este exemplo associa o grupo pool_batch ao fair share scheduler (FSS).
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter informações sobre como criar a função e atribuí-la a um usuário, consulte Gerenciamento de RBAC (mapa de tarefas) em Guia de administração de sistema: serviços de segurança.
Modifique o grupo pool_batch para ser associado ao FSS.
| # poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")' | 
Exiba a configuração 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 | 
Comprometa a configuração em /etc/pooladm.conf :
| # pooladm -c | 
(Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática chamado /tmp/backup, digite o seguinte:
| # pooladm -s /tmp/backup | 
 Como definir restrições de configuração
Como definir restrições de configuraçãoRestrições afetam a gama de configurações possíveis eliminando algumas das alterações potenciais que podem ser feitas em uma configuração. Este procedimento mostra como definir a propriedade cpu.pinned.
Nos exemplos abaixo, cpuid é um inteiro.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Modifique a propriedade cpu.pinned na configuração estática ou dinâmica:
 Como definir objetivos de configuração
Como definir objetivos de configuraçãoVocê pode especificar objetivos para poold a serem considerados ao tomar uma ação corretiva.
No procedimento abaixo, o objetivo wt-load está sendo definido de modo que poold tente coincidir a alocação de recursos com a utilização de recursos. O objetivo locality é desativado para auxiliar na realização do objetivo desta configuração.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Modifique tester do sistema para favorecer o objetivo wt-load.
| # poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")' | 
Desative o objetivo locality para o conjunto de processadores padrão.
| # poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")' | 
Desative o objetivo locality para o conjunto de processadores pset_batch.
| # poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")' | 
Exiba a configuração 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 | 
Comprometa a configuração em /etc/pooladm.conf .
| # pooladm -c | 
(Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática chamado /tmp/backup, digite o seguinte:
| # pooladm -s /tmp/backup | 
 Como definir o nível de registro de poold
Como definir o nível de registro de poold
Para especificar o nível de informações de registro que poold gera, defina a propriedade system.poold.log-level na configuração de poold. A configuração de poold é contida na configuração de libpool. Para obter informações, consulte Informações de registro do poold e as páginas do manual poolcfg(1M) e libpool(3LIB).
Você também pode usar o comando poold na linha de comando para especificar o nível de informações de registro que poold gera.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Defina o nível de registro usando o comando poold com a opção with the -l e um parâmetro, por exemplo, INFO.
| # /usr/lib/pool/poold -l INFO | 
Para obter informações sobre parâmetros disponíveis, consulte Informações de registro do poold. O nível de registro padrão é NOTICE.
 Como usar arquivos de comando com poolcfg
Como usar arquivos de comando com poolcfg
O comando poolcfg com a opção -f pode tomar entrada de um arquivo de texto que contenha argumentos do subcomando poolcfg para a opção -c. Este método é apropriado quando você deseja que um conjunto de operações seja executado. Quando vários comando são processados, a configuração é somente atualizada se todos os comandos tiverem êxito. Para configurações grandes ou complexas, esta técnica pode ser mais útil do que chamadas por subcomando.
Observe que, em arquivos de comando, o caractere # atua como uma marca de comentário para o resto da linha.
Crie um arquivo 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) | 
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter informações sobre como criar a função e atribuí-la a um usuário, consulte “Gerenciamento de RBAC” no Guia de administração de sistema: serviços de segurança.
Execute o comando:
| # /usr/sbin/poolcfg -f poolcmds.txt | 
Use o argumento do subcomando transfer para a opção -c de poolcfg com a opção -d para transferir recursos no kernel. A opção -d especifica que o comando opere diretamente no kernel e não tome entrada de um arquivo.
O procedimento abaixo move duas CPUs do conjunto de processadores pset1 para o conjunto de processadores pset2 no kernel.
 Como mover CPUs entre conjuntos de processadores
Como mover CPUs entre conjuntos de processadoresTorne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Mova duas CPUs de pset1 para pset2.
As subcláusulas from e to podem ser usadas em qualquer ordem. Somente uma subclásula to e fromtem suporte do comando.
| # poolcfg -dc 'transfer 2 from pset pset1 to pset2' | 
Se IDs específicos conhecidos de um tipo de recurso tiverem de ser transferidos, uma sintaxe alternativa será fornecida. Por exemplo, o seguinte comando atribui duas CPUs com IDs 0 e 2 ao conjunto de processadores pset_large:
| # poolcfg -dc "transfer to pset pset_large (cpu 0; cpu 2)" | 
Se uma transferência falhar porque não há recursos suficientes para atender a solicitação ou porque os IDs específicos não podem ser localizados, o sistema exibirá uma mensagem de erro.
Use o comando pooladm para tornar ativa uma determinada configuração de grupo para remover a configuração de grupo atualmente ativa. Para obter mais informações este comando, consulte a página do manual pooladm(1M).
 Como ativar uma configuração de grupo
Como ativar uma configuração de grupoPara ativar a configuração no arquivo de configuração padrão, /etc/pooladm.conf, chame pooladm com a opção -c, “comprometa a configuração.”
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Comprometa a configuração em /etc/pooladm.conf .
| # pooladm -c | 
(Opcional) Copie a configuração dinâmica para um arquivo de configuração estática, por exemplo, /tmp/backup.
| # pooladm -s /tmp/backup | 
 Como validar uma configuração antes de comprometê-la
Como validar uma configuração antes de comprometê-laVocê pode usar a opção -n com a opção -c para testar o que acontecerá quando ocorrer a validação. A configuração não será realmente comprometida.
O comando abaixo tenta validar a configuração contida em /home/admin/newconfig. Quaisquer erros encontrados são exibidos, mas a configuração propriamente dita não é modificada.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Teste a validade da configuração antes de comprometê-la.
| # pooladm -n -c /home/admin/newconfig | 
 Como remover uma configuração de grupo
Como remover uma configuração de grupoPara remover a atual configuração ativa e retornar todos os recursos associados, como conjuntos de processadores, para o status padrão, use a opção -x para “remover a configuração.”
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Remova a atual configuração ativa.
| # pooladm -x | 
A opção - x para pooladm remove da configuração dinâmica todos os elementos definidos pelo usuário. Todos os recursos são revertidos para os estados padrão, e todas as vinculações de grupos são substituídas por um vínculo com o grupo padrão.
Você pode mesclar processos com segurança nas classes TS e IA no mesmo conjunto de processadores. A mescla de outras classes de agendamento dentro de um conjunto de processadores pode levar a resultados imprevisíveis. Se o uso de pooladm -x resultar em classes de agendamento mescladas dentro de um conjunto de processadores, use o comando priocntl para mover processos em execução para uma classe de agendamento diferente. Consulte Como mover manualmente processos da classe TS para a classe FSS Consulte também a página do manual priocntl(1).
Você pode definir um atributo project.pool para associar um grupo de recursos a um projeto.
Você pode vincular um processo em execução a um grupo de duas maneiras:
Você pode usar o comando poolbind, descrito em poolbind(1M), para vincular um processo específico a um grupo de recursos nomeado.
Você pode usar o atributo project.pool no banco de dados de project para identificar a vinculação de grupo para uma nova sessão de login ou uma tarefa que é iniciada através do comando newtask. Consulte as páginas do manual newtask(1), projmod(1M), e project(4).
 Como vincular processos a um grupo
Como vincular processos a um grupoO procedimento abaixo usar poolbind com a opção -p para vincular manualmente um processo (neste caso, o shell atual) a um grupo nomeado ohare.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Vincule manualmente um processo a um grupo:
| # poolbind -p ohare $$ | 
Verifique a vinculação do grupo para o processo usando poolbind com a opção -q.
| $ poolbind -q $$ 155509 ohare | 
O sistema exibe o ID do processo e a vinculação do grupo.
 Como vincular tarefas ou projetos a um grupo
Como vincular tarefas ou projetos a um grupoPara vincular tarefas ou projetos a um grupo, use o comando poolbind com a opção -i. O exemplo abaixo vincula todos os processos no projeto airmiles ao grupo laguardia.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Vincule todos os processos no projeto airmiles ao grupo laguardia.
| # poolbind -i project -p laguardia airmiles | 
 Como definir o atributo project.pool para um projeto
Como definir o atributo project.pool para um projetoVocê pode definir o atributo project.pool para vincular processos de um projeto a um grupo de recursos.
Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.
A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .
Adicione um atributo project.pool a cada entrada no banco de dados de project.
| # projmod -a -K project.pool=poolname project | 
 Como usar atributos de project para vincular um processo a um grupo diferente
Como usar atributos de project para vincular um processo a um grupo diferenteSuponha que você tem uma configuração com dois grupos nomeados studio e backstage. O arquivo /etc/project tem o seguinte conteúdo:
| user.paul:1024::::project.pool=studio user.george:1024::::project.pool=studio user.ringo:1024::::project.pool=backstage passes:1027::paul::project.pool=backstage | 
Com esta configuração, processos que são iniciados pelo usuário paul são vinculados por padrão ao grupo studio.
O usuário paul pode modificar a vinculação de grupo para processos que ele inicia. paul pode usar newtask para vincular trabalho ao grupo backstage também, iniciando o projeto passes.
Inicie um processo no projeto passes.
| $ newtask -l -p passes | 
Use o comando poolbind com a opção -q para verificar a vinculação do grupo para o processo. Use também um cifrão duplo ($$) para passar o número do processo do shell pai para o comando.
| $ poolbind -q $$ 6384 pool backstage | 
O sistema exibe o ID do processo e a vinculação do grupo.
O comando poolstat é usado para exibir estatísticas para recursos relacionados a grupos. Para obter mais informações, consulte Uso de poolstat para monitorar a facilidade de grupos e a utilização de recursos e a página do manual poolstat(1M).
As subseções a seguir usam exemplos para ilustrar como produzir relatórios para propósitos específicos.
A digitação de poolstat sem argumentos envia uma linha de cabeçalho e uma linha de informação para cada grupo. A linha de informação mostra o ID do grupo, o nome do grupo e as estatísticas de recursos para o conjunto de processadores anexado ao grupo.
| machine% poolstat
                              pset
       id pool           size used load
        0 pool_default      4  3.6  6.2
        1 pool_sales        4  3.3  8.4 | 
O comando a seguir produz três relatórios a intervalos de amostragem 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   | 
O exemplo abaixo usa o comando poolstat com a opção -r para relatar estatísticas para o conjunto de recursos do conjunto de processadores. Observe que o conjunto de recursos pset_default é anexado a mais de um grupo, de modo que este conjunto de processadores é listado uma vez para cada membro do grupo.
| 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 |