JOBOBJECT_LIMIT_VIOLATION_INFORMATION 结构 (winnt.h)
包含有关作业对象已超出的资源通知限制的信息。 此结构与 QueryInformationJobObject 函数和 JobObjectLimitViolationInformation 信息类一起使用。
语法
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;
成员
LimitFlags
标识对作业有效的通知限制的标志。 此成员是一个位字段,用于确定是否使用其他结构成员。 此成员可以是以下值的任意组合。
ViolationLimitFlags
标识已超出的通知限制的标志。 此成员是一个位字段,用于确定是否使用其他结构成员。 此成员可以是以下值的任意组合。
IoReadBytes
如果 ViolationLimitFlags 成员指定JOB_OBJECT_LIMIT_READ_BYTES,则此成员包含发送通知时作业中所有进程的 I/O 读取字节总数。
IoReadBytesLimit
如果 LimitFlags 成员指定JOB_OBJECT_LIMIT_READ_BYTES,则此成员包含对作业有效的 I/O 读取字节数通知限制。
IoWriteBytes
如果 ViolationLimitFlags 成员指定JOB_OBJECT_LIMIT_WRITE_BYTES,则此成员包含发送通知时作业中所有进程的 I/O 写入字节总数。
IoWriteBytesLimit
如果 LimitFlags 成员指定JOB_OBJECT_LIMIT_WRITE_BYTES,则此成员包含对作业有效的 I/O 写入字节数通知限制。
PerJobUserTime
如果 ViolationLimitFlags 成员指定JOB_OBJECT_LIMIT_JOB_TIME,则此成员包含发送通知时作业中所有进程的总用户模式执行时间。
PerJobUserTimeLimit
如果 LimitFlags 成员指定JOB_OBJECT_LIMIT_JOB_TIME,则此成员包含对作业有效的用户模式执行通知限制。
JobMemory
如果 ViolationLimitFlags 成员指定JOB_OBJECT_LIMIT_JOB_MEMORY,则此成员包含发送通知时作业中所有进程的已提交内存。
JobMemoryLimit
如果 LimitFlags 成员指定JOB_OBJECT_LIMIT_JOB_MEMORY,则此成员包含对作业有效的已提交内存限制。
RateControlTolerance
如果 LimitFlags 参数指定JOB_OBJECT_LIMIT_RATE_CONTROL,则此成员指定作业在发送通知时超出其 CPU 速率控制限制的程度。 此成员可以是以下值之一。
值 | 含义 |
---|---|
|
作业在容错间隔的 20% 内超出了其 CPU 速率控制限制。 |
|
作业在容错间隔的 40% 内超出了其 CPU 速率控制限制。 |
|
作业在容错间隔的 60% 内超出了其 CPU 速率控制限制。 |
RateControlToleranceLimit
如果 LimitFlags 参数指定JOB_OBJECT_LIMIT_RATE_CONTROL,则此成员包含为作业指定的 CPU 速率控制通知限制。
值 | 含义 |
---|---|
|
容差间隔为 10 秒。 |
|
容差间隔为一分钟。 |
|
容差间隔为 10 分钟。 |
注解
当超出JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION结构中指定的任何通知限制时,系统会将JOB_OBJECT_MSG_NOTIFICATION_LIMIT消息发送到与作业关联的 I/O 完成端口。
若要检索有关超出的限制的信息,监视 I/O 完成端口的应用程序必须使用 JobObjectLimitViolationInformation 信息类和指向JOBOBJECT_LIMIT_VIOLATION_INFORMATION结构的指针调用 QueryInformationJobObject 函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | winnt.h |