Partager via


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.
Pour interroger la taille de base de l’unité d’E/S normalisée sans créer de travail, appelez QueryIoRateControlInformationJobObject avec le paramètre hJob défini sur NULL à partir d’un processus qui n’est pas associé à un travail.

ControlFlags

Stratégie de contrôle du taux d’E/S. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
JOB_OBJECT_IO_RATE_CONTROL_ENABLE
0x1
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

Important À compter de Windows 10, version 1607, cette structure n’est plus prise en charge.
 
Vous ne pouvez définir qu’un seul contrôle de débit d’E/S pour un travail dans une hiérarchie de travaux imbriqués. Les paramètres que vous spécifiez s’appliquent à ce travail et aux travaux enfants dans la hiérarchie pour ce travail. Les paramètres ne s’appliquent pas à la chaîne de travaux à partir du travail parent jusqu’au sommet de la hiérarchie. Vous pouvez toujours modifier les paramètres du travail d’origine dans la hiérarchie sur laquelle vous définissez le contrôle du taux d’E/S. Toutefois, les tentatives de définir des valeurs pour le contrôle du taux d’E/S pour tous les autres travaux de la hiérarchie, y compris les travaux parents, échouent.

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

Voir aussi

QueryIoRateControlInformationJobObject

SetIoRateControlInformationJobObject