web-dev-qa-db-fra.com

Comment diagnostiquer les pointes de processeur Ubuntu / IO wait?

J'utilise Ubuntu et toutes les deux minutes, il ne répond pas pendant une demi-seconde à une seconde, ce qui n'est normalement pas un problème mais rend le code extrêmement frustrant lorsque vous essayez de revenir en arrière ou de naviguer dans le code sans que rien ne se passe. Le problème, c’est que les blocages sont si brefs que top n’a pas le temps de me montrer ce qui alimente le processeur (en supposant que quelque chose le soit, mais je ne sais pas ce qui pourrait le provoquer).

Est-ce que quelqu'un sait comment résoudre ce problème de performances?

Edit: J'ai essayé de me connecter avec Gnome Classic (No Effects) au lieu de Unity, mais il se bloque toujours de temps en temps.

Edit: Le graphique de la CPU ne semble pas afficher de pics réels. Il semble donc que vous aviez raison et que mon diagnostic initial était que le problème était incorrect, je soupçonne maintenant IO d'attendre. Je ne me souviens pas de cela pendant les brèves semaines durant lesquelles Windows 7 Starter était installé, ce qui me porte à croire que ce n'est pas (juste?) Le matériel. Y a-t-il quelque chose que je puisse modifier pour améliorer cela? J'utilise un Acer Aspire One D257 avec Ubuntu 11.10.

Edit: La sortie de dmesg est à http://paste.ubuntu.com/1060054/ et kern.log est à http://paste.ubuntu.com/1060055/ =

18
Jeff Welling

Il est possible que vous souhaitiez vérifier deux outils supplémentaires:

Si vous n'obtenez pas ce que vous voulez de ces deux outils, vous devrez peut-être utiliser des outils de développement tels que OProfile ou Sysprof .

Tous les outils listés sont disponibles dans les dépôts d'ubuntu

En ce qui concerne votre observation avec usb, d'après ce que j'ai entendu dire, certains contrôleurs usb se comportent de manière un peu instable avec certains matériels susceptibles de provoquer des tempêtes d'interruption, ce qui pourrait donner lieu à ce que vous décrivez. Essayez de chercher une tempête d’interruption usb et vous obtiendrez quelques hits.

12
danjo133

J'ai utilisé htop pendant des années et j'ai enfin trouvé comment obtenir l'utilisation du processeur en chiffres et en pourcentages. Je suis surpris de l'avoir manqué.

htop iowait image

Appuyez sur F2

Flèche vers "Compteurs disponibles"

Highlight CPU moyenne

F5 ou F6 à ajouter à la colonne

Flèche vers l'item "CPU [Bar]"

Appuyez sur F4 jusqu'à ce que vous obteniez "CPU [Texte]"

Vous pouvez également obtenir des IORates

F2-> Colonnes-> Disponible

Ajouter IO_RATE, IO_READ_RATE, IO_WRITE_RATE

4
Atherion

La meilleure façon de voir cela consiste à utiliser une application en ligne de commande comme top ou htopInstall htop .

top
top

htop
htop

Vous devrez toutefois le regarder pendant un certain temps jusqu'à ce que vous voyiez ce qui cause le pic (s'il s'agit bien d'un pic d'utilisation du processeur et non d'une attente d'E/S, qui peut ne pas être détecté dans tous les cas).

2
RolandiXor

Un nouvel outil très utile est cpustat Il possède une interface graphique qui vous permet de surveiller plusieurs pids au fil du temps.

enter image description here

2
RickyA