Compartilhar via


estrutura JOBOBJECT_IO_RATE_CONTROL_INFORMATION (jobapi2.h)

Contém informações usadas para controlar a taxa de E/S de um trabalho. Essa estrutura é usada pelas funções SetIoRateControlInformationJobObject e QueryIoRateControlInformationJobObject .

Sintaxe

typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION {
  LONG64 MaxIops;
  LONG64 MaxBandwidth;
  LONG64 ReservationIops;
  PCWSTR VolumeName;
  ULONG  BaseIoSize;
  ULONG  ControlFlags;
} JOBOBJECT_IO_RATE_CONTROL_INFORMATION;

Membros

MaxIops

O limite máximo para a taxa de E/S em IOPS (operações de E/S por segundo). Defina como 0 se não for necessário especificar nenhum limite.

Quando você define MaxIops e MaxBandwith, o sistema operacional impõe o primeiro limite que a taxa de E/S atinge.

MaxBandwidth

O limite máximo para a taxa de E/S em bytes por segundo. Defina como 0 para não especificar nenhum limite.

Quando você define MaxBandwith e MaxIops, o sistema operacional impõe o primeiro limite que a taxa de E/S atinge.

ReservationIops

Define uma taxa mínima de E/S que o sistema operacional reserva para o trabalho. Para não fazer nenhuma reserva para o trabalho, defina esse valor como 0.

O sistema operacional permite que o trabalho execute operações de E/S nesse ritmo, se possível. Se a soma das taxas mínimas para todos os trabalhos exceder a capacidade do sistema operacional, a taxa na qual o sistema operacional permite que cada trabalho execute operações de E/S é proporcional à reserva para o trabalho.

VolumeName

O nome do dispositivo NT para o volume ao qual você deseja aplicar a política para a taxa de E/S. Para obter informações sobre nomes de dispositivo NT, consulte Nomes de dispositivo NT.

Se esse membro for NULL, a política para a taxa de E/S se aplicará a todos os volumes do sistema operacional. Por exemplo, se esse membro for NULL e o membro MaxIops for 100, o limite máximo para a taxa de E/S para cada volume será definido como 100 IOPS, em vez de definir um limite agregado para a taxa de E/S em todos os volumes de 100 IOPS.

BaseIoSize

O tamanho base da unidade de E/S normalizada, em bytes. Por exemplo, se o membro BaseIoSize for 8.000, cada 8.000 bytes conta como uma unidade de E/S. 4.000 bytes também é uma unidade de E/S neste exemplo, enquanto 8.001 bytes são duas unidades de E/S.

Você pode definir o valor desse tamanho de E/S base usando o valor StorageBaseIOSize do HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\QoS

chave do registro.

O valor do membro BaseIoSize está sujeito às seguintes restrições:

  • A função SetIoRateControlInformationJobObject exige que o membro BaseIoSize da estrutura JOBOBJECT_IO_RATE_CONTROL_INFORMATION que você passa para a função seja 0.
  • O método QueryIoRateControlInformationJobObject define o membro BaseIoSize dessa estrutura como 0 se o volume especificado pelo membro VolumeName não oferecer suporte ao controle da taxa de E/S.
  • O método QueryIoRateControlInformationJobObject define o membro BaseIoSize dessa estrutura como o tamanho base da unidade de E/S normalizada se o volume especificado pelo membro VolumeName der suporte ao controle da taxa de E/S.
Para consultar o tamanho base da unidade de E/S normalizada sem criar um trabalho, chame QueryIoRateControlInformationJobObject com o parâmetro hJob definido como NULL de um processo que não está associado a um trabalho.

ControlFlags

A política de controle da taxa de E/S. Esse membro pode ser um dos valores a seguir.

Valor Significado
JOB_OBJECT_IO_RATE_CONTROL_ENABLE
0x1
Ativa o controle da taxa de E/S do trabalho quando essa estrutura é passada para a função SetIoRateControlInformationJobObject . Indica que o controle da taxa de E/S para o trabalho é ativado quando essa estrutura é usada com a função QueryIoRateControlInformationJobObject .

Comentários

Importante A partir do Windows 10, versão 1607, essa estrutura não tem mais suporte.
 
Você só pode definir um controle de taxa de E/S para um trabalho em uma hierarquia de trabalhos aninhados. As configurações especificadas se aplicam a esse trabalho e aos trabalhos filho na hierarquia desse trabalho. As configurações não se aplicam à cadeia de trabalhos do trabalho pai até a parte superior da hierarquia. Você ainda pode alterar as configurações do trabalho original na hierarquia na qual definiu o controle de taxa de E/S. No entanto, as tentativas de definir valores para o controle da taxa de E/S para quaisquer outros trabalhos na hierarquia, incluindo os trabalhos pai, falham.

Requisitos

   
Cliente mínimo com suporte Windows 10 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Cabeçalho jobapi2.h

Confira também

QueryIoRateControlInformationJobObject

SetIoRateControlInformationJobObject