JOBOBJECT_CPU_RATE_CONTROL_INFORMATION structure (winnt.h)
Contient des informations de contrôle de débit processeur pour un objet de travail. Cette structure est utilisée par les fonctions SetInformationJobObject et QueryInformationJobObject avec la classe d’informations JobObjectCpuRateControlInformation .
Syntaxe
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;
Membres
ControlFlags
Stratégie de planification pour le contrôle du débit du processeur. Ce membre peut être l’une des valeurs suivantes.
DUMMYUNIONNAME
DUMMYUNIONNAME.CpuRate
Spécifie la partie des cycles de processeur que les threads d’un objet de travail peuvent utiliser pendant chaque intervalle de planification, en tant que nombre de cycles par 10 000 cycles. Si le membre ControlFlags spécifie JOB_OBJECT_CPU_RATE_WEIGHT_BASED ou JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, ce membre n’est pas utilisé.
Définissez CpuRate sur un pourcentage fois 100. Par exemple, pour permettre au travail d’utiliser 20 % du processeur, définissez CpuRate sur 20 fois 100 ou 2 000.
Ne définissez pas CpuRate sur 0. Si CpuRate a la valeur 0, SetInformationJobObject retourne INVALID_ARGS.
DUMMYUNIONNAME.Weight
Si le membre ControlFlags spécifie JOB_OBJECT_CPU_RATE_WEIGHT_BASED, ce membre spécifie le poids de planification de l’objet de travail, qui détermine le partage du temps processeur accordé au travail par rapport aux autres charges de travail sur le processeur.
Ce membre peut être une valeur comprise entre 1 et 9, où 1 est la plus petite part et 9 la plus grande. La valeur par défaut est 5, qui doit être utilisée pour la plupart des charges de travail.
Si le membre ControlFlags spécifie JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, ce membre n’est pas utilisé.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MinRate
Spécifie la partie minimale des cycles de processeur que les threads d’un objet de travail peuvent réserver pendant chaque intervalle de planification. Spécifiez ce taux en pourcentage fois 100. Par exemple, pour définir un taux minimal de 50 %, spécifiez 50 fois 100 ou 5 000.
Pour que les taux minimaux fonctionnent correctement, la somme des taux minimaux pour tous les objets de travail dans le système ne peut pas dépasser 10 000, soit l’équivalent de 100 %.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MaxRate
Spécifie la partie maximale des cycles de processeur que les threads d’un objet de travail peuvent utiliser pendant chaque intervalle de planification. Spécifiez ce taux en pourcentage fois 100. Par exemple, pour définir un taux maximal de 50 %, spécifiez 50 fois 100 ou 5 000.
Une fois que le travail a atteint cette limite pour un intervalle de planification, aucun thread associé au travail ne peut s’exécuter jusqu’à l’intervalle de planification suivant.
Remarques
Vous pouvez définir le contrôle de débit processeur pour plusieurs travaux dans une hiérarchie de travaux imbriqués. Lorsque vous définissez le contrôle de débit processeur pour un objet de travail, les paramètres s’appliquent au travail et à ses travaux enfants dans la hiérarchie. Lorsque vous définissez le contrôle de débit processeur pour un travail dans une hiérarchie imbriquée, le système calcule les quotas correspondants par rapport au contrôle de débit processeur du travail parent immédiat pour le travail. En d’autres termes, les taux définis pour le travail représentent sa partie du taux d’uc alloué à son travail parent. Si un objet de travail n’a pas de parent avec le contrôle de débit processeur activé dans la chaîne de ses travaux parents, le contrôle de débit pour le travail représente la partie du processeur pour l’ensemble du système.
Le contrôle de débit processeur ne peut pas être utilisé par les objets de travail dans les applications s’exécutant sous services Bureau à distance (anciennement Terminal Services) si la planification dynamique de partage équitable (DFSS) est appliquée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
En-tête | winnt.h |