struttura JOBOBJECT_CPU_RATE_CONTROL_INFORMATION (winnt.h)
Contiene informazioni sul controllo della frequenza della CPU per un oggetto processo. Questa struttura viene utilizzata dalle funzioni SetInformationJobObject e QueryInformationJobObject con la classe di informazioni JobObjectCpuRateControlInformation .
Sintassi
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;
Members
ControlFlags
Criteri di pianificazione per il controllo della frequenza della CPU. Questo membro può essere uno dei valori seguenti.
DUMMYUNIONNAME
DUMMYUNIONNAME.CpuRate
Specifica la parte dei cicli del processore che i thread in un oggetto processo possono usare durante ogni intervallo di pianificazione, come numero di cicli per 10.000 cicli. Se il membro ControlFlags specifica JOB_OBJECT_CPU_RATE_WEIGHT_BASED o JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, questo membro non viene utilizzato.
Impostare CpuRate su una percentuale di 100. Ad esempio, per consentire al processo di usare il 20% della CPU, impostare CpuRate su 20 volte 100 o 2.000.
Non impostare CpuRate su 0. Se CpuRate è 0, SetInformationJobObject restituisce INVALID_ARGS.
DUMMYUNIONNAME.Weight
Se il membro ControlFlags specifica JOB_OBJECT_CPU_RATE_WEIGHT_BASED, questo membro specifica il peso di pianificazione dell'oggetto processo, che determina la condivisione del tempo del processore assegnato al processo rispetto ad altri carichi di lavoro nel processore.
Questo membro può essere un valore compreso tra 1 e 9, dove 1 è la quota più piccola e 9 è la quota più grande. Il valore predefinito è 5, che deve essere usato per la maggior parte dei carichi di lavoro.
Se il membro ControlFlags specifica JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, questo membro non viene utilizzato.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MinRate
Specifica la parte minima dei cicli del processore che i thread in un oggetto processo possono riservare durante ogni intervallo di pianificazione. Specificare questa frequenza come percentuale per 100. Ad esempio, per impostare una frequenza minima del 50%, specificare 50 volte 100 o 5.000.
Affinché le tariffe minime funzionino correttamente, la somma delle tariffe minime per tutti gli oggetti processo nel sistema non può superare 10.000, che equivale al 100%.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MaxRate
Specifica la parte massima dei cicli del processore che i thread in un oggetto processo possono usare durante ogni intervallo di pianificazione. Specificare questa frequenza come percentuale per 100. Ad esempio, per impostare una velocità massima del 50%, specificare 50 volte 100 o 5.000.
Dopo che il processo raggiunge questo limite per un intervallo di pianificazione, nessun thread associato al processo può essere eseguito fino all'intervallo di pianificazione successivo.
Commenti
È possibile impostare il controllo della frequenza della CPU per più processi in una gerarchia di processi annidati. Quando si imposta il controllo della frequenza della CPU per un oggetto processo, le impostazioni si applicano al processo e ai processi figlio nella gerarchia. Quando si imposta il controllo della frequenza della CPU per un processo in una gerarchia nidificata, il sistema calcola le quote corrispondenti rispetto al controllo della frequenza della CPU del processo padre immediato per il processo. In altre parole, le tariffe impostate per il processo rappresentano la relativa parte della frequenza di CPU allocata al processo padre. Se un oggetto processo non dispone di un elemento padre con controllo della frequenza della CPU attivato nella catena dei processi padre, il controllo della frequenza per il processo rappresenta la parte della CPU per l'intero sistema.
Il controllo della frequenza della CPU non può essere usato dagli oggetti processo nelle applicazioni in esecuzione in Servizi Desktop remoto (in precedenza Terminal Services) se la pianificazione dinamica della condivisione equa (DFSS) è attiva.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Intestazione | winnt.h |