haut dit que l'IOWAIT est élevé, comment trouver les processus coupables

9

Je sais que je ne devrais pas le faire, mais j'exécute un système Ubuntu à partir d'un lecteur flash USB, en mode persistant, et c'est douloureusement lent.

"top" me dit que ce n'est pas à cause du CPU, c'est à cause d'E / S, c'est-à-dire de% wa élevé.

J'ai déjà supprimé le swap, mais pour optimiser davantage, je dois obtenir des indices sur les processus qui sollicitent autant le disque.

Donc, fondamentalement, ce que je voudrais, c'est l'équivalent de "top" pour afficher les processus avec un IOWAIT élevé, tout comme "top" afficher les processus avec un% CPU élevé.

JeanHuguesRobert
la source
Je souhaite que cela ait une meilleure réponse. Je veux juste un moyen de faire en sorte que le temps iowait soit inclus dans ses pourcentages de processeur par processus.
bukzor

Réponses:

5

De nombreuses clés USB "à stylet" sont très lentes, en particulier pour l'écriture. Il est donc possible que vous ne puissiez pas faire grand chose d'autre que d'essayer une clé plus rapide.

Pour répondre à votre question directe: vous pouvez obtenir une image de ce qui se passe sur le disque avec iotop -o- s'il est laissé en cours d'exécution pendant les périodes occupées, cela vous montrera quels processus effectuent activement des lectures / écritures sur disque et combien. Cela peut mettre en évidence un processus ou un service dont vous pouvez vous passer et désactiver pour aider les choses. Il y a quelques tâches crons dans de nombreuses configurations Linux qui analysent un morceau du fichier fichiers (sinon tous) / occasionnellement pour mettre à jour les caches de recherche (comme la updatedbtâche qui met à jour les données utilisées par des commandes comme locate) - si vous trouvez l'un des ceux-ci provoquent votre lenteur, puis ils peuvent être supprimés en toute sécurité de la liste des choses de cron à exécuter régulièrement.

De combien de RAM disposez-vous sur la machine cible? Si c'est une petite machine par cette mesure, cela n'aidera pas car il y aura peu de place pour mettre en cache les lectures (donc les choses relues peu de temps après doivent provenir à nouveau de la clé USB plutôt qu'une copie mise en cache dans la RAM).

Vous pouvez également essayer une version réduite d'Ubuntu, en particulier si vous êtes dans une situation de faible RAM, mais cela pourrait également aider si vous avez beaucoup de RAM mais un ou des disques lents en réduisant les temps de démarrage si rien d'autre. lubuntu est un choix populaire pour cela - tous les packages habituels sont disponibles si vous en avez besoin, mais il s'installe moins par défaut, démarre moins de services au démarrage par défaut et utilise un environnement de bureau plus léger (tout autre que ces changements est le même arrangement , vous devriez donc le trouver relativement familier même si Ubuntu est la seule variante Linux avec laquelle vous avez beaucoup d'expérience).

David Spillett
la source
2
Merci. En exécutant iotop -o -d 5 (5 secondes, je ne suis pas un lecteur rapide), j'ai remarqué 3 choses: 1 / jdb2, 2 / gnome-setting-daemon et 3 / chrome qui génèrent ensemble près de 50% wa ... Pourquoi gnome et chrome écrivent-ils sur le disque tout le temps est un mystère (ce n'est pas beaucoup de données cependant, environ 10K / s)? Concernant jdb2, c'est ma faute je crois, j'ai malheureusement utilisé un ext4 fs et je cherche des solutions pour revenir à un ext2 plus approprié pour des clés USB avec des écritures lentes.
JeanHuguesRobert
2
Les kilo-octets / sec ou les écritures peuvent être un problème pour les lecteurs flash car ils doivent écrire en gros blocs (donc pour chaque petite écriture, le contrôleur peut lire un bloc complet, le mettre à jour, puis l'écrire). Chromium mettra à jour son cache sur disque régulièrement, éventuellement en permanence si les sites que vous avez ouverts effectuent des requêtes d'arrière-plan pour garder les informations à jour "instantanément" (Facebook et de nombreuses applications similaires le font). L'utilisation d'un système de fichiers sans journal comme ext2 améliorera les choses en supprimant les écritures dans le journal de la situation, mais c'est moins sûr et je ne sais pas à quel point la différence sera notable.
David Spillett