Não, a última linha não reporta o tempo de espera de E / S, mas é codificada permanentemente para exibir zero no Solaris, independentemente da carga real.
Com a generalização de CPUs multi-core e multi-thread, I/O wait
time deixou de ter um significado real e até mesmo se arriscou a ser enganoso. Geralmente, as E / Ss não estão vinculadas a uma única unidade de CPU, portanto, não há CPU específica aguardando uma E / S quando uma ou mais delas estão pendentes. Em qualquer caso, apenas os processos estão aguardando a conclusão da E / S, essa espera não usa ciclos de CPU, portanto, tecnicamente, as CPUs estão ociosas e disponíveis para outras tarefas durante esse período. AE / S que não se distingue do tempo inativo é então relatada como sendo igual a zero a partir do Solaris 10, e então o que costumava ser I/O wait
agora está incluído no tempo ocioso da CPU, o que é realmente.
Se você estiver preocupado com E / Ss, dê uma olhada nas estatísticas de disco com iostat
(ex. iostat -xntc 5
e observe o tempo de serviço svc_t
, número de E / Ss na fila de espera wait
e porcentagem de tempo em que a fila não está vazia %w
), não as estatísticas da CPU relatadas por vmstat
, sar
, top
, iostat
e os gostos.
Este artigo também pode ser de interesse para investigar problemas de desempenho de I / O: link
Este está explicando que o problema é o mesmo com o Linux.