JOBOBJECT_IO_RATE_CONTROL_INFORMATION structure (jobapi2.h)
Contient les informations utilisées pour contrôler le taux d’E/S d’un travail. Cette structure est utilisée par les fonctions SetIoRateControlInformationJobObject et QueryIoRateControlInformationJobObject .
Syntaxe
typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION {
LONG64 MaxIops;
LONG64 MaxBandwidth;
LONG64 ReservationIops;
PCWSTR VolumeName;
ULONG BaseIoSize;
ULONG ControlFlags;
} JOBOBJECT_IO_RATE_CONTROL_INFORMATION;
Membres
MaxIops
Limite maximale pour le taux d’E/S dans les opérations d’E/S par seconde (IOPS). Définissez sur 0 si pour ne spécifier aucune limite.
Lorsque vous définissez MaxIops et MaxBandwith, le système d’exploitation applique la première limite que le taux d’E/S atteint.
MaxBandwidth
Limite maximale pour le taux d’E/S en octets par seconde. Définissez sur 0 pour ne spécifier aucune limite.
Lorsque vous définissez MaxBandwith et MaxIops, le système d’exploitation applique la première limite que le taux d’E/S atteint.
ReservationIops
Définit un taux d’E/S minimal que le système d’exploitation réserve pour le travail. Pour n’effectuer aucune réservation pour le travail, définissez cette valeur sur 0.
Le système d’exploitation permet au travail d’effectuer des opérations d’E/S à ce rythme, si possible. Si la somme des taux minimaux pour tous les travaux dépasse la capacité du système d’exploitation, la vitesse à laquelle le système d’exploitation permet à chaque travail d’effectuer des opérations d’E/S est proportionnelle à la réservation pour le travail.
VolumeName
Nom de l’appareil NT pour le volume auquel vous souhaitez appliquer la stratégie pour le taux d’E/S. Pour plus d’informations sur les noms d’appareils NT, consultez Noms des appareils NT.
Si ce membre a la valeur NULL, la stratégie pour le taux d’E/S s’applique à tous les volumes du système d’exploitation. Par exemple, si ce membre a la valeur NULL et que le membre MaxIops est 100, la limite maximale du taux d’E/S pour chaque volume est définie sur 100 IOPS, au lieu de définir une limite agrégée pour le taux d’E/S sur tous les volumes de 100 IOPS.
BaseIoSize
Taille de base de l’unité d’E/S normalisée, en octets. Par exemple, si le membre BaseIoSize est de 8 000, tous les 8 000 octets comptent comme une unité d’E/S. 4 000 octets est également une unité d’E/S dans cet exemple, tandis que 8 001 octets correspond à deux unités d’E/S.
Vous pouvez définir la valeur de cette taille d’E/S de base à l’aide de la valeur StorageBaseIOSize de la qoS HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\QoS
clé de Registre.La valeur du membre BaseIoSize est soumise aux contraintes suivantes :
- La fonction SetIoRateControlInformationJobObject nécessite que le membre BaseIoSize de la structure JOBOBJECT_IO_RATE_CONTROL_INFORMATION que vous transmettez à la fonction soit 0.
- La méthode QueryIoRateControlInformationJobObject définit le membre BaseIoSize de cette structure sur 0 si le volume spécifié par le membre VolumeName ne prend pas en charge le contrôle du taux d’E/S.
- La méthode QueryIoRateControlInformationJobObject définit le membre BaseIoSize de cette structure sur la taille de base de l’unité d’E/S normalisée si le volume spécifié par le membre VolumeName prend en charge le contrôle du taux d’E/S.
ControlFlags
Stratégie de contrôle du taux d’E/S. Ce membre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Active le contrôle du taux d’E/S pour le travail lorsque cette structure est passée à la fonction SetIoRateControlInformationJobObject . Indique que le contrôle du taux d’E/S du travail est activé lorsque cette structure est utilisée avec la fonction QueryIoRateControlInformationJobObject . |
Notes
Configuration requise
Client minimal pris en charge | Windows 10 (applications de bureau uniquement) |
Serveur minimal pris en charge | Windows Server 2016 (applications de bureau uniquement) |
En-tête | jobapi2.h |