O iowait é basicamente o tempo médio (em milissegundos) para solicitações de E / S emitidas para o dispositivo a ser servido. Isso inclui o tempo gasto pelas solicitações na fila e o tempo gasto na manutenção delas.
Medido em uma base por io na frente do programador io até que a io esteja pronta. Ele abrange o tempo que é levado pelo agendador, driver, controlador, transporte (para san) e armazenamento necessário para concluir cada io. É o tempo médio, em milissegundos, para solicitações de E / S concluídas pelo armazenamento e inclui o tempo gasto pelas solicitações na fila do planejador e o tempo gasto pelo armazenamento que as atende.
Existem várias fases de um pedido de veiculação enquanto ele está sendo transferido. Depois que o aplicativo envia um IO, uma solicitação é alocada para ele. Quando o kernel da solicitação é concedido, ele vê se pode mesclar o io a qualquer fila de solicitações existente. O tempo gasto na fila de solicitações aumenta o tempo total de serviço. Então, após a fusão, o io é submetido ao armazenamento. Se o armazenamento estiver sob pressão ou não puder lidar com os números de pedido de veiculação, o nosso pedido de veiculação também terá que esperar para ser atendido pelo armazenamento. Portanto, existem essencialmente duas fases de espera que o iostat mede.
O arquivo proc / proc / diskstats é aquele a que se refere para o propósito.