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.
Tarefa |
Descrição |
Para informações |
---|---|---|
Monitore o uso da CPU. |
Monitore o uso da CPU de projetos e projetos em conjuntos de processadores. | |
Defina a classe do agendador padrão. |
Torne um agendador, como o FSS, o agendador padrão para o sistema. | |
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. |
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).
Para monitorar o uso da CPU de projetos executados no sistema, use o comando prstat com a opção -J.
% prstat -J |
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.
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).
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.
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 .
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.
Faça com que esta configuração tenha efeito imediatamente, sem reinicializar.
# priocntl -s -c FSS -i all |
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.
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 .
Mova o processo (pid 1) init para as classes de agendamento FSS.
# priocntl -s -c FSS -i pid 1 |
Mova todos os processos da classe de agendamento TS para a classe de agendamento FSS.
# priocntl -s -c FSS -i class TS |
Todos os processos são novamente executados na classe de agendamento TS após a reinicialização.
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.
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 .
Mova o processo (pid 1) init para as classes de agendamento FSS.
# priocntl -s -c FSS -i pid 1 |
Mova todos os processos das classes de agendamento atuais para a classe de agendamento FSS.
# priocntl -s -c FSS -i all |
Todos os processos são novamente executados na classe de agendamento padrão após a reinicialização.
Você pode mover manualmente processos de um projeto da classe de agendamento atual para uma classe de agendamento FSS.
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 .
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.
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 |