struktur JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 (winnt.h)

Berisi informasi yang diperluas tentang batas pemberitahuan sumber daya yang telah terlampaui untuk objek pekerjaan. Struktur ini digunakan dengan fungsi QueryInformationJobObject dengan kelas informasi JobObjectLimitViolationInformation2 .

Sintaks

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;

Anggota

LimitFlags

Bendera yang mengidentifikasi batas pemberitahuan yang berlaku untuk pekerjaan tersebut. Anggota ini adalah bitfield yang menentukan apakah anggota struktur lain digunakan. Anggota ini bisa menjadi kombinasi apa pun dari nilai berikut.

Nilai Makna
JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH
0x00000200
Pekerjaan ini memiliki batas pemberitahuan memori yang diterapkan. Anggota JobHighMemoryLimit berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
Pekerjaan ini memiliki batas pemberitahuan memori minimum yang diterapkan. Anggota JobLowMemoryLimit berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Pekerjaan ini memiliki batas pemberitahuan byte baca I/O. Anggota IoReadBytesLimit berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Pekerjaan ini memiliki batas pemberitahuan byte tulis I/O. Anggota IoWriteBytesLimit berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Pekerjaan ini memiliki batas pemberitahuan waktu eksekusi mode pengguna. Anggota PerJobUserTimeLimit berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Pekerjaan memiliki batas pemberitahuan sejauh pekerjaan dapat melebihi batas kontrol tingkat CPU-nya. Anggota RateControlToleranceLimit berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Pekerjaan memiliki batas pemberitahuan sejauh pekerjaan dapat melebihi batas kontrol tingkat CPU-nya. Anggota CpuRateControlToleranceLimit berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
Pekerjaan memiliki batas pemberitahuan sejauh pekerjaan dapat melebihi batas kontrol laju I/O-nya. Anggota IoRateControlToleranceLimit berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Pekerjaan memiliki batas pemberitahuan sejauh pekerjaan dapat melebihi batas kontrol laju jaringannya. Anggota NetRateControlToleranceLimit berisi informasi lebih lanjut.

ViolationLimitFlags

Bendera yang mengidentifikasi batas pemberitahuan yang telah terlampaui. Anggota ini adalah bitfield yang menentukan apakah anggota struktur lain digunakan. Anggota ini bisa menjadi kombinasi apa pun dari nilai berikut.

Nilai Makna
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Batas pemberitahuan byte baca I/O pekerjaan telah terlampaui. Anggota IoReadBytes berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Batas pemberitahuan byte tulis I/O pekerjaan telah terlampaui. Anggota IoWriteBytes berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Batas waktu eksekusi mode pengguna pekerjaan telah terlampaui. Anggota PerJobUserTime berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH
0x00000200
Batas pemberitahuan memori maksimum yang diterapkan pekerjaan telah terlampaui. Anggota JobMemory berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
Memori yang diterapkan pekerjaan telah jatuh di bawah batas pemberitahuan minimumnya. Anggota JobMemory berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Batas kontrol tingkat CPU pekerjaan telah terlampaui. Anggota RateControlTolerance berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Batas kontrol tingkat CPU pekerjaan telah terlampaui. Anggota CpuRateControlTolerance berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
Batas kontrol laju I/O pekerjaan telah terlampaui. Anggota IoRateControlTolerance berisi informasi lebih lanjut.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Batas kontrol laju jaringan pekerjaan telah terlampaui. Anggota NetworkRateControlTolerance berisi informasi lebih lanjut.

IoReadBytes

Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_READ_BYTES, anggota ini berisi total byte baca I/O untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.

IoReadBytesLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_READ_BYTES, anggota ini berisi batas pemberitahuan byte baca I/O yang berlaku untuk pekerjaan tersebut.

IoWriteBytes

Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, anggota ini berisi total byte tulis I/O untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.

IoWriteBytesLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, anggota ini berisi batas pemberitahuan byte tulis I/O yang berlaku untuk pekerjaan tersebut.

PerJobUserTime

Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_TIME, anggota ini berisi total waktu eksekusi mode pengguna untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.

PerJobUserTimeLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_TIME, anggota ini berisi batas pemberitahuan eksekusi mode pengguna yang berlaku untuk pekerjaan tersebut.

JobMemory

Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH atau JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, anggota ini berisi memori yang diterapkan untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.

DUMMYUNIONNAME

DUMMYUNIONNAME.JobHighMemoryLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH, anggota ini berisi batas memori maksimum yang diterapkan untuk pekerjaan tersebut.

DUMMYUNIONNAME.JobMemoryLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY, anggota ini berisi batas memori maksimum yang diterapkan untuk pekerjaan tersebut.

DUMMYUNIONNAME2

DUMMYUNIONNAME2.RateControlTolerance

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol tingkat CPU pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
ToleranceLow
1
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 60% dari interval toleransi.

DUMMYUNIONNAME2.CpuRateControlTolerance

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol tingkat CPU pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
ToleranceLow
1
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 60% dari interval toleransi.

DUMMYUNIONNAME3

DUMMYUNIONNAME3.RateControlToleranceLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol tingkat CPU yang ditentukan untuk pekerjaan tersebut.

Nilai Makna
ToleranceLow
1
Pekerjaan dapat melebihi batas kontrol tingkat CPU untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan dapat melebihi batas kontrol tingkat CPU untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan dapat melebihi batas kontrol tingkat CPU-nya untuk 60% dari interval toleransi.

DUMMYUNIONNAME3.CpuRateControlToleranceLimit

Jika parameter LimitFlags menentukan JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol tingkat CPU yang ditentukan untuk pekerjaan tersebut.

Nilai Makna
ToleranceLow
1
Pekerjaan dapat melebihi batas kontrol tingkat CPU untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan dapat melebihi batas kontrol tingkat CPU untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan dapat melebihi batas kontrol tingkat CPU-nya untuk 60% dari interval toleransi.

JobLowMemoryLimit

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, anggota ini berisi batas memori minimum yang diterapkan untuk pekerjaan tersebut.

IoRateControlTolerance

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_IO_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol tingkat I/O pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
ToleranceLow
1
Pekerjaan melebihi batas kontrol laju I/O untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan melebihi batas kontrol laju I/O untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan melebihi batas kontrol laju I/O untuk 60% dari interval toleransi.

IoRateControlToleranceLimit

Jika parameter LimitFlags menentukan JOB_OBJECT_LIMIT_IO_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol tarif I/O yang ditentukan untuk pekerjaan tersebut.

Nilai Makna
ToleranceLow
1
Pekerjaan dapat melebihi batas kontrol laju I/O untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan dapat melebihi batas kontrol laju I/O untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan dapat melebihi batas kontrol laju I/O untuk 60% dari interval toleransi.

NetRateControlTolerance

Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_NET_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol laju jaringannya pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
ToleranceLow
1
Pekerjaan melebihi batas kontrol laju jaringannya untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan melebihi batas kontrol laju jaringannya untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan melebihi batas kontrol laju jaringannya untuk 60% dari interval toleransi.

NetRateControlToleranceLimit

Jika parameter LimitFlags menentukan JOB_OBJECT_LIMIT_NETWORK_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol laju jaringan yang ditentukan untuk pekerjaan tersebut.

Nilai Makna
ToleranceLow
1
Pekerjaan dapat melebihi batas kontrol laju jaringannya untuk 20% dari interval toleransi.
ToleransiMedium
2
Pekerjaan dapat melebihi batas kontrol laju jaringannya untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan dapat melebihi batas kontrol laju jaringannya untuk 60% dari interval toleransi.

Keterangan

Ketika batas pemberitahuan yang ditentukan dalam struktur JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 terlampaui, sistem mengirim pesan JOB_OBJECT_MSG_NOTIFICATION_LIMIT ke port penyelesaian I/O yang terkait dengan pekerjaan.

Untuk mengambil informasi tentang batas yang terlampaui, aplikasi yang memantau port penyelesaian I/O harus memanggil fungsi QueryInformationJobObject dengan kelas informasi JobObjectLimitViolationInformation2 dan pointer ke struktur JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2016 [hanya aplikasi desktop]
Header winnt.h

Lihat juga

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

QueryInformationJobObject

SetInformationJobObject