Vieille question, récemment reposée, mais j'ai estimé que les réponses existantes étaient insuffisantes.
Définition et propriétés de l'IOWait
IOWait (généralement étiqueté %wa
en haut) est une sous-catégorie de idle ( %idle
est généralement exprimée par "all idle" (sauf sous-catégories définies), ce qui signifie que le CPU ne fait rien. Par conséquent, tant qu'il existe un autre processus que le CPU pourrait traiter, il le fera. De plus, idle, user, system, iowait, etc. sont une mesure par rapport au CPU. En d'autres termes, vous pouvez considérer iowait comme l'inactivité causée par l'attente de io.
Précisément, iowait est le temps passé à recevoir et à traiter les interruptions matérielles en pourcentage des ticks du processeur. Les interruptions logicielles sont généralement étiquetées séparément en tant que %si
.
Importance et idées fausses potentielles
IOWait est important car il s'agit souvent d'une mesure clé pour savoir si vous êtes embouteillé sur IO. Mais l'absence d'iowait ne signifie pas forcément que votre application est no goulot d'étranglement sur les entrées-sorties. Considérons deux applications fonctionnant sur un système. Si le programme 1 présente un goulot d'étranglement important au niveau des E/S et que le programme 2 est un gros utilisateur de CPU, le %user + %system
Mais c'est juste parce que le programme 2 est intensif et semble relativement ne rien dire du programme 1 parce que tout ceci est du point de vue du CPU.
Outils de détection de l'OIWait
Voir les messages de Dave Cheney et Xerxes
Mais aussi un simple top
apparaîtra dans %wa
.
Réduction de l'IOWait
De plus, comme nous entrons maintenant presque dans l'année 2013, en plus de ce que d'autres ont dit, l'option de dispositifs de stockage IO tout simplement géniaux sont abordables, à savoir les SSD. Les SSD sont géniaux ! !!
1 votes
Et aussi, qu'est-ce que le high iowait ?