Share via


JOBOBJECT_IO_RATE_CONTROL_INFORMATION 結構 (jobapi2.h)

包含用來控制作業 I/O 速率的資訊。 SetIoRateControlInformationJobObjectQueryIoRateControlInformationJobObject函式會使用此結構。

語法

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。

當您設定 MaxIopsMaxBandwith時,作業系統會強制執行 I/O 速率達到的第一個限制。

MaxBandwidth

每秒以位元組為單位的 I/O 速率上限。 設定為 0 以指定沒有限制。

當您同時設定 MaxBandwithMaxIops時,作業系統會強制執行 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\控制項\QoSStorageBaseIOSize值來設定此基底 I/O 大小的值

登錄機碼。

BaseIoSize成員的值受限於下列條件約束:

若要在不建立作業的情況下查詢標準化 I/O 單位的基底大小,請從未與作業相關聯的進程呼叫 QueryIoRateControlInformationJobObject ,並將 hJob 參數設定為 Null

ControlFlags

控制 I/O 速率的原則。 這個成員可以是下列其中一個值。

意義
JOB_OBJECT_IO_RATE_CONTROL_ENABLE
0x1
當此結構傳遞至 SetIoRateControlInformationJobObject 函式時,開啟作業的 I/O 速率控制。 指出當此結構與 QueryIoRateControlInformationJobObject 函式搭配使用時,就會開啟作業的 I/O 速率控制。

備註

重要從 Windows 10 1607 版開始,不再支援此結構。
 
您只能為巢狀作業階層中的作業設定一個 I/O 速率控制。 您指定的設定會套用至該作業的階層中,以及該作業的子作業。 這些設定不適用於從父工作到階層頂端的作業鏈結。 您仍然可以變更設定 I/O 速率控制之階層中原始作業的設定。 不過,嘗試為階層中任何其他作業的 I/O 速率控制設定值,包括父作業失敗。

需求

   
最低支援的用戶端 Windows 10 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
標頭 jobapi2.h

另請參閱

QueryIoRateControlInformationJobObject

SetIoRateControlInformationJobObject