Condividi tramite


JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 struttura (winnt.h)

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

Sintassi

typedef struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {
  DWORD                            LimitFlags;
  DWORD                            ViolationLimitFlags;
  DWORD64                          IoReadBytes;
  DWORD64                          IoReadBytesLimit;
  DWORD64                          IoWriteBytes;
  DWORD64                          IoWriteBytesLimit;
  LARGE_INTEGER                    PerJobUserTime;
  LARGE_INTEGER                    PerJobUserTimeLimit;
  DWORD64                          JobMemory;
  union {
    DWORD64 JobHighMemoryLimit;
    DWORD64 JobMemoryLimit;
  } DUMMYUNIONNAME;
  union {
    JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
    JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance;
  } DUMMYUNIONNAME2;
  union {
    JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
    JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlToleranceLimit;
  } DUMMYUNIONNAME3;
  DWORD64                          JobLowMemoryLimit;
  JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance;
  JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlToleranceLimit;
  JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance;
  JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlToleranceLimit;
} JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2;

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_HIGH
0x00000200
Il processo ha un limite di notifica di memoria commit. Il membro JobHighMemoryLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
Il processo ha un limite minimo di notifica di memoria con commit. Il membro JobLowMemoryLimit 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_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_JOB_TIME
0x00000004
Il processo ha un limite di tempo di esecuzione in modalità utente. Il membro PerJobUserTimeLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Il processo ha un limite di notifica per l'entità in cui un processo può superare il limite di controllo della frequenza della CPU. Il membro RateControlToleranceLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Il processo ha un limite di notifica per l'entità in cui un processo può superare il limite di controllo della frequenza della CPU. Il membro CpuRateControlToleranceLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
Il processo ha un limite di notifica per l'entità in cui un processo può superare il limite di controllo della frequenza I/O. Il membro IoRateControlToleranceLimit contiene altre informazioni.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Il processo ha un limite di notifica per l'entità in cui un processo può superare il limite di controllo della frequenza di rete. Il membro NetRateControlToleranceLimit 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_JOB_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_JOB_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_HIGH
0x00000200
È stato superato il limite massimo di notifica della memoria di commit del processo. Il membro JobMemory contiene altre informazioni.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
La memoria del commit del processo è diminuita al di sotto del limite minimo di notifica. 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.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Il limite di controllo della frequenza della CPU del processo è stato superato. Il membro CpuRateControlTolerance contiene altre informazioni.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
È stato superato il limite di controllo della velocità I/O del processo. Il membro IoRateControlTolerance contiene altre informazioni.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Il limite di controllo della frequenza di rete del processo è stato superato. Il membro NetworkRateControlTolerance contiene altre informazioni.

IoReadBytes

Se il membro ViolationLimitFlags specifica JOB_OBJECT_LIMIT_JOB_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_JOB_READ_BYTES, questo membro contiene il limite di notifica byte di lettura I/O in vigore per il processo.

IoWriteBytes

Se il membro ViolationLimitFlags specifica JOB_OBJECT_LIMIT_JOB_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_JOB_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_HIGH o JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, questo membro contiene la memoria commit per tutti i processi nel processo al momento dell'invio della notifica.

DUMMYUNIONNAME

DUMMYUNIONNAME.JobHighMemoryLimit

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH, questo membro contiene il limite massimo di memoria eseguito con commit per il processo.

DUMMYUNIONNAME.JobMemoryLimit

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

DUMMYUNIONNAME2

DUMMYUNIONNAME2.RateControlTolerance

Se il membro 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.

DUMMYUNIONNAME2.CpuRateControlTolerance

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_CPU_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.

DUMMYUNIONNAME3

DUMMYUNIONNAME3.RateControlToleranceLimit

Se il membro 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
ToleranceLow
1
Il processo può superare i limiti di controllo della frequenza della CPU per il 20% dell'intervallo di tolleranza.
ToleranceMedium
2
Il processo può superare i limiti di controllo della frequenza della CPU per il 40% dell'intervallo di tolleranza.
TolleranzaHigh
3
Il processo può superare i limiti di controllo della frequenza della CPU per il 60% dell'intervallo di tolleranza.

DUMMYUNIONNAME3.CpuRateControlToleranceLimit

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

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

JobLowMemoryLimit

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

IoRateControlTolerance

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_IO_RATE_CONTROL, questo membro specifica l'entità in cui il processo ha superato i limiti di controllo della velocità I/O 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 I/O per il 20% dell'intervallo di tolleranza.
ToleranceMedium
2
Il processo ha superato i limiti di controllo della frequenza I/O per il 40% dell'intervallo di tolleranza.
TolleranzaHigh
3
Il processo ha superato i limiti di controllo della frequenza I/O per il 60% dell'intervallo di tolleranza.

IoRateControlToleranceLimit

Se il parametro LimitFlags specifica JOB_OBJECT_LIMIT_IO_RATE_CONTROL, questo membro contiene i limiti di notifica del controllo della frequenza I/O specificati per il processo.

Valore Significato
ToleranceLow
1
Il processo può superare i limiti di controllo della frequenza I/O per il 20% dell'intervallo di tolleranza.
ToleranceMedium
2
Il processo può superare i limiti di controllo della frequenza I/O per il 40% dell'intervallo di tolleranza.
TolleranzaHigh
3
Il processo può superare i limiti di controllo della velocità di I/O per il 60% dell'intervallo di tolleranza.

NetRateControlTolerance

Se il membro LimitFlags specifica JOB_OBJECT_LIMIT_NET_RATE_CONTROL, questo membro specifica l'entità in cui il processo ha superato i limiti di controllo della frequenza di rete 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 di rete per il 20% dell'intervallo di tolleranza.
ToleranceMedium
2
Il processo ha superato i limiti di controllo della frequenza di rete per il 40% dell'intervallo di tolleranza.
TolleranzaHigh
3
Il processo ha superato i limiti di controllo della frequenza di rete per il 60% dell'intervallo di tolleranza.

NetRateControlToleranceLimit

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

Valore Significato
ToleranceLow
1
Il processo può superare i limiti di controllo della frequenza di rete per il 20% dell'intervallo di tolleranza.
ToleranceMedium
2
Il processo può superare i limiti di controllo della frequenza di rete per il 40% dell'intervallo di tolleranza.
TolleranzaHigh
3
Il processo può superare i limiti di controllo della frequenza di rete per il 60% dell'intervallo di tolleranza.

Commenti

Quando viene superato un limite di notifica specificato in una struttura di JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 , 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 I/O deve chiamare la funzione QueryInformationJobObject con la classe informativa JobObjectLimitViolationInformation2 e un puntatore a una struttura di JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .

Requisiti

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

Vedi anche

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

QueryInformationJobObject

SetInformationJobObject