структура JOBOBJECT_CPU_RATE_CONTROL_INFORMATION (winnt.h)
Содержит сведения об управлении скоростью ЦП для объекта задания. Эта структура используется функциями SetInformationJobObject и QueryInformationJobObject с информационным классом JobObjectCpuRateControlInformation .
Синтаксис
typedef struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
DWORD ControlFlags;
union {
DWORD CpuRate;
DWORD Weight;
struct {
WORD MinRate;
WORD MaxRate;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
} JOBOBJECT_CPU_RATE_CONTROL_INFORMATION, *PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION;
Члены
ControlFlags
Политика планирования для управления скоростью ЦП. Этот элемент может иметь одно из следующих значений.
DUMMYUNIONNAME
DUMMYUNIONNAME.CpuRate
Указывает часть циклов процессора, которую потоки в объекте задания могут использовать в течение каждого интервала планирования, в виде количества циклов на 10 000 циклов. Если элемент ControlFlags указывает JOB_OBJECT_CPU_RATE_WEIGHT_BASED или JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, этот элемент не используется.
Задайте значение CpuRate в процентах 100 раз. Например, чтобы позволить заданию использовать 20 % ресурсов ЦП, задайте для параметра CpuRate значение 20 раз 100 или 2000.
Не устанавливайте для cpuRate значение 0. Если cpuRate равно 0, SetInformationJobObject возвращает INVALID_ARGS.
DUMMYUNIONNAME.Weight
Если элемент ControlFlags указывает JOB_OBJECT_CPU_RATE_WEIGHT_BASED, этот элемент задает вес планирования объекта задания, который определяет долю процессорного времени, отдаваемого заданию, относительно других рабочих нагрузок на процессоре.
Этот элемент может быть значением от 1 до 9, где 1 — наименьшая доля, а 9 — самая большая доля. Значение по умолчанию — 5, которое следует использовать для большинства рабочих нагрузок.
Если элемент ControlFlags указывает JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE, этот элемент не используется.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MinRate
Указывает минимальную часть циклов процессора, которую потоки в объекте задания могут зарезервировать в течение каждого интервала планирования. Укажите этот показатель в процентах 100 раз. Например, чтобы задать минимальную ставку в 50 %, укажите 50 раз 100 или 5000.
Для правильной работы минимальных ставок сумма минимальных ставок для всех объектов заданий в системе не может превышать 10 000, что эквивалентно 100 %.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MaxRate
Указывает максимальную часть циклов процессора, которую потоки в объекте задания могут использовать в течение каждого интервала планирования. Укажите этот показатель в процентах 100 раз. Например, чтобы задать максимальную ставку 50 %, укажите 50 раз 100 или 5000.
После достижения задания этого предела для интервала планирования никакие потоки, связанные с заданием, не могут выполняться до следующего интервала планирования.
Комментарии
Вы можете задать управление скоростью ЦП для нескольких заданий в иерархии вложенных заданий. При установке элемента управления скоростью ЦП для объекта задания параметры применяются к заданию и его дочерним заданиям в иерархии. При задании управления скоростью ЦП для задания во вложенной иерархии система вычисляет соответствующие квоты относительно контроля скорости ЦП непосредственного родительского задания для задания. Другими словами, скорость, заданная для задания, представляет его часть скорости ЦП, выделенной его родительскому заданию. Если у объекта задания нет родительского элемента с включенным управлением скоростью ЦП в цепочке его родительских заданий, то элемент управления скоростью для задания представляет часть ЦП для всей системы.
Управление скоростью ЦП не может использоваться объектами заданий в приложениях, работающих в службах удаленных рабочих столов (прежнее название — Службы терминалов), если действует динамическое планирование общей общей папки (DFSS).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Верхняя часть | winnt.h |