Partager via


JOBOBJECT_LIMIT_VIOLATION_INFORMATION structure (winnt.h)

Contient des informations sur les limites de notification de ressources qui ont été dépassées pour un objet de travail. Cette structure est utilisée avec la fonction QueryInformationJobObject avec la classe d’informations JobObjectLimitViolationInformation .

Syntaxe

typedef struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
  DWORD                            LimitFlags;
  DWORD                            ViolationLimitFlags;
  DWORD64                          IoReadBytes;
  DWORD64                          IoReadBytesLimit;
  DWORD64                          IoWriteBytes;
  DWORD64                          IoWriteBytesLimit;
  LARGE_INTEGER                    PerJobUserTime;
  LARGE_INTEGER                    PerJobUserTimeLimit;
  DWORD64                          JobMemory;
  DWORD64                          JobMemoryLimit;
  JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
  JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
} JOBOBJECT_LIMIT_VIOLATION_INFORMATION, *PJOBOBJECT_LIMIT_VIOLATION_INFORMATION;

Membres

LimitFlags

Indicateurs qui identifient les limites de notification en vigueur pour le travail. Ce membre est un champ de bits qui détermine si d’autres membres de la structure sont utilisés. Ce membre peut être n’importe quelle combinaison des valeurs suivantes.

Valeur Signification
JOB_OBJECT_LIMIT_JOB_MEMORY
0x00000200
Le travail a une limite de notification de mémoire validée. Le membre JobMemoryLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Le travail a une limite de notification d’octets d’E/S en lecture. Le membre IoReadBytesLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Le travail a une limite de notification de temps d’exécution en mode utilisateur. Le membre PerJobUserTimeLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Le travail a une limite de notification d’octets d’écriture d’E/S. Le membre IoWriteBytesLimit contient plus d’informations.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Mesure dans laquelle un travail peut dépasser sa limite de contrôle de débit processeur. Le membre RateControlToleranceLimit contient plus d’informations.

ViolationLimitFlags

Indicateurs qui identifient les limites de notification qui ont été dépassées. Ce membre est un champ de bits qui détermine si d’autres membres de la structure sont utilisés. Ce membre peut être n’importe quelle combinaison des valeurs suivantes.

Valeur Signification
JOB_OBJECT_LIMIT_READ_BYTES
0x00010000
La limite de notification d’octets de lecture d’E/S du travail a été dépassée. Le membre IoReadBytes contient plus d’informations.
JOB_OBJECT_LIMIT_WRITE_BYTES
0x00020000
La limite de notification d’écriture d’E/S du travail a été dépassée. Le membre IoWriteBytes contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
La limite de notification de temps d’exécution en mode utilisateur du travail a été dépassée. Le membre PerJobUserTime contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_MEMORY
0x00000200
La limite de notification de mémoire validée du travail a été dépassée. Le membre JobMemory contient plus d’informations.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
La limite de contrôle du débit processeur du travail a été dépassée. Le membre RateControlTolerance contient plus d’informations.

IoReadBytes

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_READ_BYTES, ce membre contient le nombre total d’octets d’E/S lus pour tous les processus du travail au moment de l’envoi de la notification.

IoReadBytesLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_READ_BYTES, ce membre contient la limite de notification d’octets d’E/S en lecture en vigueur pour le travail.

IoWriteBytes

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_WRITE_BYTES, ce membre contient le nombre total d’octets d’écriture d’E/S pour tous les processus du travail au moment de l’envoi de la notification.

IoWriteBytesLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_WRITE_BYTES, ce membre contient la limite de notification d’octets d’écriture d’E/S en vigueur pour le travail.

PerJobUserTime

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_JOB_TIME, ce membre contient le temps total d’exécution en mode utilisateur pour tous les processus du travail au moment de l’envoi de la notification.

PerJobUserTimeLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_TIME, ce membre contient la limite de notification d’exécution en mode utilisateur en vigueur pour le travail.

JobMemory

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_JOB_MEMORY, ce membre contient la mémoire validée pour tous les processus du travail au moment de l’envoi de la notification.

JobMemoryLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_MEMORY, ce membre contient la limite de mémoire validée en vigueur pour le travail.

RateControlTolerance

Si le paramètre LimitFlags spécifie JOB_OBJECT_LIMIT_RATE_CONTROL, ce membre spécifie l’étendue dans laquelle le travail a dépassé ses limites de contrôle de débit processeur au moment de l’envoi de la notification. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
ToleranceLow
1
Le travail a dépassé ses limites de contrôle de débit processeur pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail a dépassé ses limites de contrôle de débit processeur pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail a dépassé ses limites de contrôle de débit processeur pour 60 % de l’intervalle de tolérance.

RateControlToleranceLimit

Si le paramètre LimitFlags spécifie JOB_OBJECT_LIMIT_RATE_CONTROL, ce membre contient les limites de notification du contrôle de débit processeur spécifiées pour le travail.

Valeur Signification
ToleranceIntervalShort
1
L’intervalle de tolérance est de 10 secondes.
ToleranceIntervalMedium
2
L’intervalle de tolérance est d’une minute.
ToleranceIntervalLong
3
L’intervalle de tolérance est de 10 minutes.

Remarques

Quand une limite de notification spécifiée dans une structure de JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION est dépassée, le système envoie un message JOB_OBJECT_MSG_NOTIFICATION_LIMIT au port d’achèvement des E/S associé au travail.

Pour récupérer des informations sur les limites qui ont été dépassées, l’application qui surveille le port d’achèvement des E/S doit appeler la fonction QueryInformationJobObject avec la classe d’informations JobObjectLimitViolationInformation et un pointeur vers une structure JOBOBJECT_LIMIT_VIOLATION_INFORMATION .

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

Voir aussi

QueryInformationJobObject

SetInformationJobObject