Pergunta antiga, que acabou recentemente, mas considerou que as respostas existentes eram insuficientes.
Definição e propriedades do IOWait
IOWait (geralmente rotulado %wa
na parte superior) é uma subcategoria de inatividade ( %idle
geralmente expressa como todas as ociosas, exceto subcategorias definidas), o que significa que a CPU não está fazendo nada. Portanto, enquanto houver outro processo que a CPU possa estar processando, ele fará isso. Além disso, ocioso, usuário, sistema, iowait etc. são uma medida em relação à CPU. Em outras palavras, você pode pensar em iowait como o ocioso causado pela espera de io.
Precisamente, iowait é o tempo gasto recebendo e manipulando interrupções de hardware como uma porcentagem dos tiques do processador. As interrupções de software geralmente são ativadas separadamente como %si
.
Importância e equívoco potencial
O IOWait é importante porque geralmente é uma métrica essencial para saber se você está com gargalo no IO. Mas a ausência de iowait não significa necessariamente que seu aplicativo não esteja com gargalo no IO. Considere dois aplicativos em execução em um sistema. Se o programa 1 estiver com um gargalo bastante io e o programa 2 for um usuário pesado da CPU, o %user + %system
da CPU ainda poderá ser algo como ~ 100% e, correspondentemente, o iowait mostrará 0. Mas isso é apenas porque o programa 2 é intenso e parece relativamente não dizer nada sobre programa 1 porque tudo isso é do ponto de vista da CPU.
Ferramentas para detectar IOWait
Ver post de Dave Cheney e Xerxes
Mas também um simples top
será exibido %wa
.
Reduzindo a IOWait
Além disso, como agora estamos quase entrando em 2013, além do que outros disseram, a opção de dispositivos de armazenamento de E / S simplesmente incríveis é acessível, ou seja, SSDs. SSDs são incríveis !!!