Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Capítulo 9 Administração do fair share scheduler (tarefas)

Este capítulo descreve como usar o fair share scheduler (FSS).

Para uma visão geral do FSS, consulte o Capítulo 8Fair share scheduler (visão geral). Para obter informações sobre classe de agendamento quando regiões estão em uso, consulte Classe de agendamento em uma região.

Administração do fair share scheduler (mapa de tarefas)

Tarefa 

Descrição 

Para informações 

Monitore o uso da CPU. 

Monitore o uso da CPU de projetos e projetos em conjuntos de processadores. 

Monitoração do FSS

Defina a classe do agendador padrão. 

Torne um agendador, como o FSS, o agendador padrão para o sistema. 

Como tornar o FSS a classe padrão do agendador

Mova processos em execução de uma classe de agendador para uma classe de agendamento diferente, como a classe FSS. 

Mova manualmente processos de uma classe de agendamento para outra classe de agendamento sem alterar a classe de agendamento padrão ou reinicializar. 

Como mover manualmente processos da classe TS para a classe FSS

Mova todos os processos em execução de todas as classes de agendamento para uma classe de agendamento diferente, como a classe FSS. 

Mova manualmente processos em todas as classes de agendamento para outra classe de agendamento sem alterar a classe de agendamento padrão ou reinicializar. 

Como mover manualmente processos de classes de todos os usuários para a classe FSS

Mova processos de um projeto para uma classe de agendamento diferente, como a classe FSS. 

Mova manualmente processos de um projeto da classe de agendamento atual para uma classe de agendamento diferente. 

Como mover manualmente processos de um projeto para a classe FSS

Examine e ajuste parâmetros do FSS. 

Ajuste o valor quantum do tempo do agendador. Quantum de tempo é a quantidade de tempo que um segmento pode ser executado antes de ter de abandonar o processador.

Como ajustar parâmetros do agendador

Monitoração do FSS

Você pode usar o comando prstat descrito na página do manual prstat(1M) para monitorar o uso da CPU por projetos ativos.

Você pode usar os dados de contabilidade estendida para tarefas para obter estatísticas por projeto sobre a quantidade de recursos da CPU que é consumida durante longos períodos. Para obter mais informações, consulte o Capítulo 4Contabilidade estendida (visão geral).

ProcedureComo monitorar uso da CPU do sistema por projetos

  1. Para monitorar o uso da CPU de projetos executados no sistema, use o comando prstat com a opção -J.


    % prstat -J
    

ProcedureComo monitorar o uso da CPU por projetos em conjuntos de processadores

  1. Para monitorar o uso da CPU da projetos em uma lista de conjuntos de processadores, digite:


    % prstat -J -C pset-list
    

    onde pset-list é uma lista de IDs de conjuntos de processadores que são separados por vírgulas.

Configuração do FSS

Os mesmos comandos que você usa com outras classes de agendamento no sistema do Solaris podem ser usados com FSS. Você pode definir a classe de agendamento, configurar os parâmetros ajustáveis do agendador e configurar as propriedades de processos individuais.

Observe que você pode usar svcadm restart para reiniciar o serviço do agendador. Para obter mais informações, consulte svcadm(1M).

ProcedureComo tornar o FSS a classe padrão do agendador

O FSS deve ser o agendador padrão no sistema para que a atribuição de compartilhamentos de CPU tenha efeito.

O uso de uma combinação dos comandos priocntl e dispadmin assegura que o FSS se torne o agendador padrão imediatamente e também após a reinicialização.

  1. Torne-se superusuário ou assuma uma função equivalente.

    Funções contêm autorizações e comandos privilegiados. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Defina o agendador padrão do sistema para que seja o FSS.


    # dispadmin -d FSS
    

    Esta alteração tem efeito na próxima reinicialização. Após a reinicialização, cada processo no sistema é executado na classe de agendamento FSS.

  3. Faça com que esta configuração tenha efeito imediatamente, sem reinicializar.


    # priocntl -s -c FSS -i all
    

ProcedureComo mover manualmente processos da classe TS para a classe FSS

Você pode mover manualmente processos de uma classe de agendamento para outra classe de agendamento sem alterar a classe de agendamento padrão ou reinicializar. Este procedimento mostra como mover manualmente processos da classe de agendamento TS para a classe de agendamento FSS.

  1. Torne-se superusuário ou assuma uma função equivalente.

    Funções contêm autorizações e comandos privilegiados. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Mova o processo (pid 1) init para as classes de agendamento FSS.


    # priocntl -s -c FSS -i pid 1
    
  3. Mova todos os processos da classe de agendamento TS para a classe de agendamento FSS.


    # priocntl -s -c FSS -i class TS
    

    Observação –

    Todos os processos são novamente executados na classe de agendamento TS após a reinicialização.


ProcedureComo mover manualmente processos de classes de todos os usuários para a classe FSS

Você pode estar usando uma classe padrão que não seja a TS. Por exemplo, o sistema pode executar um ambiente de janela que use a classe IA por padrão. Você pode mover manualmente todos os processos para a classe de agendamento FSS sem alterar a classe de agendamento padrão e sem reinicializar.

  1. Torne-se superusuário ou assuma uma função equivalente.

    Funções contêm autorizações e comandos privilegiados. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Mova o processo (pid 1) init para as classes de agendamento FSS.


    # priocntl -s -c FSS -i pid 1
    
  3. Mova todos os processos das classes de agendamento atuais para a classe de agendamento FSS.


    # priocntl -s -c FSS -i all
    

    Observação –

    Todos os processos são novamente executados na classe de agendamento padrão após a reinicialização.


ProcedureComo mover manualmente processos de um projeto para a classe FSS

Você pode mover manualmente processos de um projeto da classe de agendamento atual para uma classe de agendamento FSS.

  1. Torne-se superusuário ou assuma uma função equivalente.

    Funções contêm autorizações e comandos privilegiados. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Mova processos executados em ID de projeto 10 para a classe de agendamento FSS.


    # priocntl -s -c FSS -i projid 10
    

    Os processos do projeto são novamente executados na classe de agendamento padrão após a reinicialização.

Como ajustar parâmetros do agendador

Você pode usar o comando dispadmin para exibir ou alterar parâmetros do agendador do processo enquanto o sistema está em execução. Por exemplo, pode usar dispadmin para examinar e ajustar o valor quantum do tempo do agendador FSS. Quantum de tempo é a quantidade de tempo que um segmento pode ser executado antes de ter de abandonar o processador.

Para exibir o quantum de tempo atual do FSS scheduler enquanto o sistema está em execução, digite:


$ dispadmin -c FSS -g
#
# Fair Share Scheduler Configuration
#
RES=1000
#
# Time Quantum
#
QUANTUM=110

Quando usa a opção -g, você também pode usar a opção -r para especificar a resolução usada para imprimir valores de quantum de tempo. Se nenhuma resolução for especificada, os valores de quantum de tempo são exibidos em milissegundos por padrão.


$ dispadmin -c FSS -g -r 100
#
# Fair Share Scheduler Configuration
#
RES=100
#
# Time Quantum
#
QUANTUM=11

Para definir os parâmetros de agendamento da classe de agendamento do FSS, use dispadmin -s. Os valores no arquivo devem estar no formato definido pela opção -g. Esses valores sobrescrevem os valores no kernel. Digite o seguinte:


$ dispadmin -c FSS -s file