struktur JOBOBJECT_LIMIT_VIOLATION_INFORMATION (winnt.h)

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

Sintaks

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;

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
0x00000200
Pekerjaan ini memiliki batas pemberitahuan memori yang diterapkan. Anggota JobMemoryLimit berisi informasi lebih lanjut.
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_TIME
0x00000004
Pekerjaan ini memiliki batas pemberitahuan waktu eksekusi mode pengguna. Anggota PerJobUserTimeLimit 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_RATE_CONTROL
0x00040000
Sejauh mana pekerjaan dapat melebihi batas kontrol tingkat CPU-nya. Anggota RateControlToleranceLimit 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_READ_BYTES
0x00010000
Batas pemberitahuan byte baca I/O pekerjaan telah terlampaui. Anggota IoReadBytes berisi informasi selengkapnya.
JOB_OBJECT_LIMIT_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
0x00000200
Batas pemberitahuan memori yang diterapkan pekerjaan telah terlampaui. 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.

IoReadBytes

Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_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_READ_BYTES, anggota ini berisi batas pemberitahuan byte baca I/O yang berlaku untuk pekerjaan tersebut.

IoWriteBytes

Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_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_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, anggota ini berisi memori yang diterapkan untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.

JobMemoryLimit

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

RateControlTolerance

Jika parameter 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 laju CPU-nya untuk 40% dari interval toleransi.
Toleransi Paha
3
Pekerjaan melebihi batas kontrol tingkat CPU-nya untuk 60% dari interval toleransi.

RateControlToleranceLimit

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

Nilai Makna
ToleranceIntervalShort
1
Interval toleransi adalah 10 detik.
ToleranceIntervalMedium
2
Interval toleransi adalah satu menit.
ToleranceIntervalLong
3
Interval toleransi adalah 10 menit.

Keterangan

Ketika batas pemberitahuan apa pun yang ditentukan dalam struktur JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION 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 JobObjectLimitViolationInformation dan penunjuk ke struktur JOBOBJECT_LIMIT_VIOLATION_INFORMATION .

Persyaratan

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

Lihat juga

QueryInformationJobObject

SetInformationJobObject