Nous avons un serveur avec une charge élevée et une utilisation de processeur inhabituelles, mais nous ne pouvons pas comprendre pourquoi. Lorsque nous courons en haut, tous les procs semblent être très faibles en CPU.
http://cl.ly/2d1g0K3q261r0R0K3e35
Existe-t-il une meilleure façon de rechercher ce qui cause cela?
Réponses:
Je pense que ce bug est votre cas. D'après ce que je vois de la sortie, vous avez suffisamment de mémoire (notez les 14 Go mis en cache environ), pas de problèmes d'E / S, mais vous avez des processus liés à xen en cours d'exécution. Cela me fait penser que c'est un bug.
la source
La charge est une mesure de la charge de travail d'un système sur une base de 1, 5 et 15 minutes.
L'idée fausse la plus courante est que la moyenne de charge est purement liée à l'utilisation du processeur d'un système.
La charge intègre cependant des mesures supplémentaires telles que le processeur en attente d'E / S, ce qui, selon moi, est votre problème.
Sur la base de l'image, je suppose que vous avez manqué de mémoire et commencé à échanger des données sur le disque.
Un simple
free -m
vous dira combien de RAM et de swap sont utilisés.La colonne intéressante est d'ailleurs la colonne gratuite
-/+ buffers/cache
.S'il est proche de zéro, vous n'avez plus de RAM et devez agir en conséquence.
la source
iotop
ouvmstat
pour essayer de voir s'il s'agit d'E / S.Remarqué que la moyenne de charge est assez élevée (68, wow). Est-il possible qu'il y ait beaucoup de processus qui prennent un peu de CPU, donc qui consomment ainsi tout le temps CPU? Peut-être que ces processus commencent et se terminent très rapidement, donc top ne peut pas capturer leur existence, vous pouvez essayer de voir si au sommet peut voir cela ou non.
la source
Essayer
IO était pour moi la plupart du temps.
la source
Essayez d'utiliser:
L'
-o
indicateur forcera top à ordonner les processus par utilisation du processeur dans l'ordre décroissant.la source
top -o cpu
j'ai eu "top: argument inconnu 'o'"o
pendant qu'il tourne. Il devrait vous demander une clé primaire. Tapezcpu
et appuyez sur Entrée.top -o %CPU
Il peut s'agir de fichiers verrouillés sur nfs ou de toute autre chose qui verrouille un fichier auquel un autre processus doit accéder.
pourrait également manquer le service configuré avec trop de threads actifs
la source
On dirait que l'utilisation du CPU provient d'un thread.
top
semble ne pas en tenir compte. J'ai récemment vu cela sur un serveur mysql. il y a des instructions INSERT en cours d'exécution mais je n'ai pas pu obtenir les nouvelles lignes avec SELECT car un thread de mysqld mettait à jour l'index de la table. top montre une charge utilisateur de 100% sur un cœur mais chaque processus, y compris mysqld, était un processeur à 0,0%. quelques heures plus tard, le même SELECT a fourni le jeu de résultats escompté.Voir également
Obtenir des statistiques de processeur par thread
processus 'htop' et threads cpu usage?
la source