Ancienne question, récemment dépassée, mais estimant que les réponses existantes étaient insuffisantes.
IOWait définition et propriétés
IOWait (généralement indiqué %wa
en haut) est une sous-catégorie d'inactivité ( %idle
est généralement exprimée en tant que inactif sauf les sous-catégories définies), ce qui signifie que la CPU ne fait rien. Par conséquent, tant que le processeur peut traiter un autre processus, il le fera. En outre, inactif, utilisateur, système, iowait, etc. constituent une mesure par rapport à la CPU. En d’autres termes, vous pouvez considérer iowait comme le temps mort dû à l’attente de io.
Justement, iowait est le temps passé à recevoir et à gérer les interruptions matérielles en tant que pourcentage des tics du processeur. Les interruptions logicielles sont généralement étiquetées séparément comme %si
.
Importance et idée fausse potentielle
IOWait est important car c’est souvent un paramètre clé pour savoir si vous êtes goulot d’étranglement sur IO. Mais l'absence de iowait ne signifie pas nécessairement que votre application n'est pas goulot d'étranglement sur IO. Considérons deux applications s'exécutant sur un système. Si le programme 1 est fortement goulot d’étranglement et que le programme 2 est un utilisateur %user + %system
intensif du processeur , le nombre de processeurs peut toujours être de l’ordre de ~ 100% et, par conséquent, iowait indiquerait 0. Mais c’est simplement parce que le programme 2 est intensif et ne semble apparemment pas ignorer programme 1 parce que tout cela est du point de vue de la CPU.
Outils pour détecter IOWait
Voir les articles de Dave Cheney et Xerxes
Mais aussi simple top
montrera dans %wa
.
Réduire IOWait
De plus, comme nous sommes presque en 2013, en plus de ce que d'autres ont dit, les périphériques de stockage IO tout simplement géniaux sont abordables, à savoir les disques SSD. Les SSD sont géniaux !!!