다음을 통해 공유


JOBOBJECT_IO_RATE_CONTROL_INFORMATION 구조체(jobapi2.h)

Windows 10 버전 1607 이상: 이 구조는 지원되지 않습니다.

작업에 대한 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

IOPS(초당 I/O 작업 수)의 I/O 속도에 대한 최대 제한입니다. 제한을 지정하지 않으면 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인 경우 100 IOPS의 모든 볼륨에서 I/O 속도에 대한 집계 제한을 설정하는 대신 각 볼륨의 I/O 속도에 대한 최대 제한은 100 IOPS로 설정됩니다.

BaseIoSize

정규화된 I/O 단위의 기본 크기(바이트)입니다. 예를 들어 BaseIoSize 멤버가 8,000인 경우 8,000바이트마다 하나의 I/O 단위로 계산됩니다. 이 예제에서는 4,000바이트가 하나의 I/O 단위인 반면 8,001바이트는 2개의 I/O 단위입니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\QoSStorageBaseIOSize 값을 사용하여 이 기본 I/O 크기의 값을 설정할 수 있습니다.

레지스트리 키입니다.

BaseIoSize 멤버의 값에는 다음 제약 조건이 적용됩니다.

  • SetIoRateControlInformationJobObject 함수를 사용하려면 함수에 전달하는 JOBOBJECT_IO_RATE_CONTROL_INFORMATION 구조체의 BaseIoSize 멤버가 0입니다.
  • QueryIoRateControlInformationJobObject 메서드는 VolumeName 멤버가 지정하는 볼륨이 I/O 속도의 제어를 지원하지 않는 경우 이 구조체의 BaseIoSize 멤버를 0으로 설정합니다.
  • QueryIoRateControlInformationJobObject 메서드는 VolumeName 멤버가 지정하는 볼륨이 I/O 속도의 제어를 지원하는 경우 이 구조체의 BaseIoSize 멤버를 정규화된 I/O 단위의 기본 크기로 설정합니다.
작업을 만들지 않고 정규화된 I/O 단위의 기본 크기를 쿼리하려면 작업과 연결되지 않은 프로세스에서 NULL hJob 매개 변수가 설정된 QueryIoRateControlInformationJobObject 호출합니다.

ControlFlags

I/O 속도 제어에 대한 정책입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
JOB_OBJECT_IO_RATE_CONTROL_ENABLE
0x1
이 구조체가 SetIoRateControlInformationJobObject 함수에 전달될 때 작업에 대한 I/O 속도를 제어합니다. 이 구조가 QueryIoRateControlInformationJobObject 함수와 함께 사용될 때 작업에 대한 I/O 속도 제어가 켜져 있음을 나타냅니다.

발언

중첩된 작업의 계층 구조에서 작업에 대해 하나의 I/O 속도 제어만 설정할 수 있습니다. 지정한 설정은 해당 작업 및 해당 작업의 계층 구조에 있는 자식 작업에 적용됩니다. 설정은 상위 작업에서 계층 구조의 맨 위까지의 작업 체인에 적용되지 않습니다. I/O 속도 제어를 설정한 계층 구조에서 원래 작업에 대한 설정을 변경할 수 있습니다. 그러나 부모 작업을 포함하여 계층 구조의 다른 작업에 대한 I/O 속도 제어 값을 설정하려고 하면 실패합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 10 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
헤더 jobapi2.h

참고 항목

QueryIoRateControlInformationJobObject

SetIoRateControlInformationJobObject