Condividi tramite


JOBOBJECT_LIMIT_VIOLATION_INFORMATION struttura (winnt.h)

Contiene informazioni sui limiti di notifica delle risorse superati per un oggetto processo. Questa struttura viene usata con la funzione QueryInformationJobObject con la classe di informazioni JobObjectLimitViolationInformation .

Sintassi

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;

Members

LimitFlags

Flag che identificano i limiti di notifica in effetti per il processo. Questo membro è un campo bit che determina se vengono usati altri membri della struttura. Questo membro può essere una combinazione dei valori seguenti.

Valore Significato
JOB_OBJECT_LIMIT_JOB_MEMORY
0x00000200
Il processo ha un limite di notifica di memoria commit. Il membro JobMemoryLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Il processo ha un limite di notifiche byte di lettura I/O. Il membro IoReadBytesLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Il processo ha un limite di tempo di esecuzione in modalità utente. Il membro PerJobUserTimeLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Il processo ha un limite di notifica byte di scrittura di I/O. Il membro IoWriteBytesLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
La misura in cui un processo può superare il limite di controllo della frequenza della CPU. Il membro RateControlToleranceLimit contiene altre informazioni.

ViolationLimitFlags

Flag che identificano i limiti di notifica superati. Questo membro è un campo bit che determina se vengono usati altri membri della struttura. Questo membro può essere una combinazione dei valori seguenti.

Valore Significato
JOB_OBJECT_LIMIT_READ_BYTES
0x00010000
Il limite di notifica dei byte di lettura I/O del processo è stato superato. Il membro IoReadBytes contiene altre informazioni.
JOB_OBJECT_LIMIT_WRITE_BYTES
0x00020000
Il limite di notifica dei byte di scrittura I/O del processo è stato superato. Il membro IoWriteBytes contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Il limite di tempo di esecuzione in modalità utente del processo è stato superato. Il membro PerJobUserTime contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_MEMORY
0x00000200
Il limite di notifica di memoria di commit del processo è stato superato. Il membro JobMemory contiene altre informazioni.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Il limite di controllo della frequenza della CPU del processo è stato superato. Il membro RateControlTolerance contiene altre informazioni.

IoReadBytes

Se il membro ViolationLimitFlags specifica JOB_OBJECT_LIMIT_READ_BYTES, questo membro contiene i byte di lettura di I/O totali per tutti i processi nel processo al momento dell'invio della notifica.

IoReadBytesLimit

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_READ_BYTES, questo membro contiene il limite di notifica byte di lettura I/O in effetti per il processo.

IoWriteBytes

Se il membro ViolationLimitFlags specifica JOB_OBJECT_LIMIT_WRITE_BYTES, questo membro contiene i byte di scrittura di I/O totali per tutti i processi nel processo al momento dell'invio della notifica.

IoWriteBytesLimit

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_WRITE_BYTES, questo membro contiene il limite di notifica dei byte di scrittura di I/O in effetti per il processo.

PerJobUserTime

Se il membro ViolationLimitFlags specifica JOB_OBJECT_LIMIT_JOB_TIME, questo membro contiene il tempo di esecuzione totale in modalità utente per tutti i processi nel processo al momento dell'invio della notifica.

PerJobUserTimeLimit

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_JOB_TIME, questo membro contiene il limite di notifica di esecuzione in modalità utente in effetti per il processo.

JobMemory

Se il membro ViolationLimitFlags specifica JOB_OBJECT_LIMIT_JOB_MEMORY, questo membro contiene la memoria commit per tutti i processi nel processo al momento dell'invio della notifica.

JobMemoryLimit

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_JOB_MEMORY, questo membro contiene il limite di memoria commit in effetti per il processo.

RateControlTolerance

Se il parametro LimitFlags specifica JOB_OBJECT_LIMIT_RATE_CONTROL, questo membro specifica l'entità in cui il processo ha superato i limiti di controllo della frequenza della CPU al momento dell'invio della notifica. Questo membro può essere uno dei valori seguenti.

Valore Significato
ToleranceLow
1
Il processo ha superato i limiti di controllo della frequenza della CPU per il 20% dell'intervallo di tolleranza.
ToleranceMedium
2
Il processo ha superato i limiti di controllo della frequenza della CPU per il 40% dell'intervallo di tolleranza.
TolleranzaHigh
3
Il processo ha superato i limiti di controllo della frequenza della CPU per il 60% dell'intervallo di tolleranza.

RateControlToleranceLimit

Se il parametro LimitFlags specifica JOB_OBJECT_LIMIT_RATE_CONTROL, questo membro contiene i limiti di notifica del controllo della frequenza della CPU specificati per il processo.

Valore Significato
ToleranceIntervalShort
1
L'intervallo di tolleranza è di 10 secondi.
ToleranceIntervalMedium
2
L'intervallo di tolleranza è un minuto.
ToleranceIntervalLong
3
L'intervallo di tolleranza è di 10 minuti.

Commenti

Quando viene superato un limite di notifica specificato in una struttura JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION, il sistema invia un messaggio JOB_OBJECT_MSG_NOTIFICATION_LIMIT alla porta di completamento di I/O associata al processo.

Per recuperare informazioni sui limiti superati, l'applicazione che monitora la porta di completamento di I/O deve chiamare la funzione QueryInformationJobObject con la classe di informazioni JobObjectLimitViolationInformation e un puntatore a una struttura JOBOBJECT_LIMIT_VIOLATION_INFORMATION .

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Intestazione winnt.h

Vedi anche

QueryInformationJobObject

SetInformationJobObject