iostat
Minha ferramenta favorita para troubleshooting de storage.
PROPÓSITO
Ver, por dispositivo, quanto de fato está sendo exigido do disco — utilização, latência e fila — para confirmar ou descartar gargalo de I/O.
Quando usar: Quando há suspeita de que o disco é o limitante, e como primeira parada antes de partir para ferramentas mais pesadas.
Pré-requisitos: Pacote sysstat instalado.
Executar
bash
iostat -xz 1Exemplo Real
text
Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util
sda 325.00 83200.00 0.00 0.00 1.16 256.00 96.00 103812.00 5.00 4.95 6.67 1081.38 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.02 34.70Leituras (Read)
| Campo | Significado |
|---|---|
| r/s | Read IOPS |
| rkB/s | Throughput de leitura |
| rrqm/s | Leituras agrupadas |
| %rrqm | Percentual agrupado |
| r_await | Latência média |
| rareq-sz | Tamanho médio das leituras |
Escritas (Write)
| Campo | Significado |
|---|---|
| w/s | Write IOPS |
| wkB/s | Throughput de escrita |
| wrqm/s | Escritas agrupadas |
| %wrqm | Percentual agrupado |
| w_await | Latência média |
| wareq-sz | Tamanho médio das escritas |
Discard (TRIM)
| Campo | Significado |
|---|---|
| d/s | Operações TRIM |
| dkB/s | Throughput TRIM |
| drqm/s | TRIM agrupados |
| %drqm | Percentual agrupado |
| d_await | Latência do TRIM |
| dareq-sz | Tamanho médio |
Flush
| Campo | Significado |
|---|---|
| f/s | Flushes por segundo |
| f_await | Latência de flush |
Fila
| Campo | Significado |
|---|---|
| aqu-sz | Tamanho médio da fila |
Referência:
text
< 1 Excelente
1-5 Normal
5-20 Atenção
> 20 GargaloUtilização
| Campo | Significado |
|---|---|
| %util | Tempo ocupado |
Referência:
text
< 60% Tranquilo
60-80% Atenção
80-100% Próximo do limite
100% SaturadoLatência
NVMe
text
< 1 ms Excelente
1-2 ms Muito bom
> 5 ms InvestigarSSD
text
1-5 ms Excelente
5-10 ms Bom
> 20 ms ProblemaHDD
text
5-20 ms Normal
20-50 ms Atenção
> 50 ms GargaloThroughput
Conversões rápidas:
text
1024 kB/s = 1 MB/s
125000 kB/s ≈ 1 Gbps
1250000 kB/s ≈ 10 GbpsOrdem de análise
Sempre verificar:
r_await
w_await
aqu-sz
%util
Depois:
rkB/s
wkB/s
r/s
w/s
