Você pode usar o fair share scheduler (FSS) para controlar a alocação dos recursos de CPU disponíveis entre regiões, com base na importância das cargas de trabalho na região. Essa importância da carga de trabalho é expressa pelo número de compartilhamentos de recursos de CPU que você atribui a cada região. Mesmo que não esteja usando o FSS para gerenciar alocação de recursos de CPU entre regiões, você pode definir a classe de agendamento da região para usar o FSS, de modo que possa definir compartilhamentos em projetos dentro da região.
Quando você define explicitamente a propriedade cpu-shares, o fair share scheduler (FSS) é usado como a classe de agendamento para essa região. No entanto, a forma preferida de usar o FSS neste caso é definir o FSS para ser a classe de agendamento padrão do sistema com o comando dispadmin. Desta forma todas as regiões irão se beneficiar de um compartilhamento justo dos recursos de CPU do sistema. Se cpu-shares não estiver definido para uma região, a região usará a classe de agendamento padrão do sistema. As ações a seguir definem a classe de agendamento para uma região:
Na versão Solaris 10 8/07, você pode usar a propriedade scheduling-class em zonecfg para definir a classe de agendamento para a região.
Você pode definir a classe de agendamento para uma região através do procedimento de grupos de recursos. Se a região estiver associada a um grupo cuja propriedade pool.scheduler esteja definida como uma classe de agendamento válida, os processos executados na região serão executados nessa classe de agendamento por padrão. Consulte Introdução a grupos de recursos e Como associar um grupo a uma classe de agendamento.
Se o controle de recurso cpu-shares estiver definido e o FSS não foi definido como a classe de agendamento para a região através de outro ação, zoneadmd definirá a classe de agendamento como FSS quando a região for inicializada.
Se a classe de agendamento não estiver definida através de qualquer outra ação, a região herdará a classe de agendamento padrão do sistema.
Observe que você pode usar o priocntl descrito na página do manual priocntl(1) para mover processos em execução para uma classe de agendamento diferente sem alterar a classe de agendamento padrão e sem reinicializar.