JOBOBJECT_IO_RATE_CONTROL_INFORMATION 結構 (jobapi2.h)
包含用來控制作業 I/O 速率的資訊。 SetIoRateControlInformationJobObject和QueryIoRateControlInformationJobObject函式會使用此結構。
語法
typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION {
LONG64 MaxIops;
LONG64 MaxBandwidth;
LONG64 ReservationIops;
PCWSTR VolumeName;
ULONG BaseIoSize;
ULONG ControlFlags;
} JOBOBJECT_IO_RATE_CONTROL_INFORMATION;
成員
MaxIops
每秒 I/O 作業中 I/O 速率的最大限制, (IOPS) 。 如果 指定沒有限制,則設定為 0。
當您設定 MaxIops 和 MaxBandwith時,作業系統會強制執行 I/O 速率達到的第一個限制。
MaxBandwidth
每秒以位元組為單位的 I/O 速率上限。 設定為 0 以指定沒有限制。
當您同時設定 MaxBandwith 和 MaxIops時,作業系統會強制執行 I/O 速率達到的第一個限制。
ReservationIops
設定作業系統為作業保留的最小 I/O 速率。 若要不保留作業,請將此值設定為 0。
如果可能,作業系統可讓作業以這個速率執行 I/O 作業。 如果所有作業的最小速率總和超過作業系統的容量,作業系統允許每個作業執行 I/O 作業的速率會與作業的保留比例。
VolumeName
您要套用 I/O 速率原則之磁片區的 NT 裝置名稱。 如需 NT 裝置名稱的相關資訊,請參閱 NT 裝置名稱。
如果此成員為 Null,I/O 速率的原則會套用至作業系統的所有磁片區。 例如,如果這個成員是 Null ,而 MaxIops 成員是 100,則每個磁片區的 I/O 速率上限會設定為 100 IOPS,而不是設定所有磁片區 100 IOPS 的 I/O 速率匯總限制。
BaseIoSize
標準化 I/O 單位的基底大小,以位元組為單位。 例如,如果 BaseIoSize 成員為 8,000,則每 8,000 個位元組都會計算為一個 I/O 單位。 在此範例中,4,000 個位元組也是一個 I/O 單位,而 8,001 個位元組則是兩個 I/O 單位。
您可以使用HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\控制項\QoS的StorageBaseIOSize值來設定此基底 I/O 大小的值
登錄機碼。BaseIoSize成員的值受限於下列條件約束:
- SetIoRateControlInformationJobObject函式需要您傳遞給函式之JOBOBJECT_IO_RATE_CONTROL_INFORMATION結構的BaseIoSize成員是 0。
- 如果VolumeName成員指定的磁片區不支援 I/O 速率的控制,QueryIoRateControlInformationJobObject方法會將這個 結構的BaseIoSize成員設定為 0。
- 如果VolumeName成員指定的磁片區支援 I/O 速率的控制,QueryIoRateControlInformationJobObject方法會將此結構的BaseIoSize成員設定為標準化 I/O 單位的基底大小。
ControlFlags
控制 I/O 速率的原則。 這個成員可以是下列其中一個值。
值 | 意義 |
---|---|
|
當此結構傳遞至 SetIoRateControlInformationJobObject 函式時,開啟作業的 I/O 速率控制。 指出當此結構與 QueryIoRateControlInformationJobObject 函式搭配使用時,就會開啟作業的 I/O 速率控制。 |
備註
需求
最低支援的用戶端 | Windows 10 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
標頭 | jobapi2.h |