estrutura JOBOBJECT_CPU_RATE_CONTROL_INFORMATION (winnt.h)
Contém informações de controle de taxa de CPU para um objeto de trabalho. Essa estrutura é usada pelas funções SetInformationJobObject e QueryInformationJobObject com a classe de informação JobObjectCpuRateControlInformation .
Sintaxe
typedef struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
DWORD ControlFlags;
union {
DWORD CpuRate;
DWORD Weight;
struct {
WORD MinRate;
WORD MaxRate;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
} JOBOBJECT_CPU_RATE_CONTROL_INFORMATION, *PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION;
Membros
ControlFlags
A política de agendamento para controle de taxa de CPU. Esse membro pode ser um dos valores a seguir.
DUMMYUNIONNAME
DUMMYUNIONNAME.CpuRate
Especifica a parte dos ciclos de processador que os threads em um objeto de trabalho podem usar durante cada intervalo de agendamento, como o número de ciclos por 10.000 ciclos. Se o membro ControlFlagsespecificar JOB_OBJECT_CPU_RATE_WEIGHT_BASED ou JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, esse membro não será usado.
Defina CpuRate como um percentual vezes 100. Por exemplo, para permitir que o trabalho use 20% da CPU, defina CpuRate como 20 vezes 100 ou 2.000.
Não defina CpuRate como 0. Se CpuRate for 0, SetInformationJobObject retornará INVALID_ARGS.
DUMMYUNIONNAME.Weight
Se o membro ControlFlagsespecificar JOB_OBJECT_CPU_RATE_WEIGHT_BASED, esse membro especificará o peso de agendamento do objeto de trabalho, que determina o compartilhamento de tempo do processador fornecido ao trabalho em relação a outras cargas de trabalho no processador.
Esse membro pode ser um valor de 1 a 9, em que 1 é o menor compartilhamento e 9 é o maior compartilhamento. O padrão é 5, que deve ser usado para a maioria das cargas de trabalho.
Se o membro ControlFlagsespecificar JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, esse membro não será usado.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MinRate
Especifica a parte mínima dos ciclos do processador que os threads em um objeto de trabalho podem reservar durante cada intervalo de agendamento. Especifique essa taxa como uma porcentagem vezes 100. Por exemplo, para definir uma taxa mínima de 50%, especifique 50 vezes 100 ou 5.000.
Para que as taxas mínimas funcionem corretamente, a soma das taxas mínimas para todos os objetos de trabalho no sistema não pode exceder 10.000, o que equivale a 100%.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MaxRate
Especifica a parte máxima dos ciclos de processador que os threads em um objeto de trabalho podem usar durante cada intervalo de agendamento. Especifique essa taxa como uma porcentagem vezes 100. Por exemplo, para definir uma taxa máxima de 50%, especifique 50 vezes 100 ou 5.000.
Depois que o trabalho atingir esse limite para um intervalo de agendamento, nenhum thread associado ao trabalho poderá ser executado até o próximo intervalo de agendamento.
Comentários
Você pode definir o controle de taxa de CPU para vários trabalhos em uma hierarquia de trabalhos aninhados. Quando você define o controle de taxa de CPU para um objeto de trabalho, as configurações se aplicam ao trabalho e seus trabalhos filho na hierarquia. Quando você define o controle de taxa de CPU para um trabalho em uma hierarquia aninhada, o sistema calcula as cotas correspondentes em relação ao controle de taxa de CPU do trabalho pai imediato para o trabalho. Em outras palavras, as taxas definidas para o trabalho representam sua parte da taxa de CPU alocada para seu trabalho pai. Se um objeto de trabalho não tiver um pai com controle de taxa de CPU ativado na cadeia de trabalhos pai, o controle de taxa para o trabalho representará a parte da CPU para todo o sistema.
O controle de taxa de CPU não pode ser usado por objetos de trabalho em aplicativos em execução em Serviços de Área de Trabalho Remota (anteriormente Serviços de Terminal) se o DFSS (Dynamic Fair Share Scheduling) estiver em vigor.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Cabeçalho | winnt.h |