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.
ControlFlags
A política de controle da taxa de E/S. Esse membro pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
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
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 |