web-dev-qa-db-fra.com

Comprendre l'utilisation de la CPU 'top'

Qu'est-ce que cela signifie exactement d'une utilisation de 350% de la CPU (par un processus) sur une boîte à 4 processeurs? Le processus est un "mysqld" qui est actuellement "bombardé" par un OLTP scénario.

Tous les pointeurs appréciés.

27
user59634

Tout en fonctionnant en haut, appuyez sur "1". Cela bascule la vue afin que vous puissiez voir la charge par central/processeur individuel.

30
poundifdef

Je viens de lire un article intéressant sur ce sujet même hier: moyenne de la charge UNIX . Cela expliquera tout ce que vous devez savoir et plus.

Extrait :

La moyenne de la charge est la somme de la longueur d'exécution de la file d'attente et le nombre d'emplois exécutés actuellement sur les CPU. Dans Solaris 2.0 et 2.2, la moyenne de la charge n'incluait pas les travaux de fonctionnement, mais ce bogue a été corrigé à Solaris 2.3.

Considérez qu'il existe deux modes de base pour afficher la charge: "Mode IRIX" et "Mode Solaris". En mode IRIX (Linux par défaut), une moyenne de charge 1 signifie qu'un processeur est entièrement chargé (ou 25% de chaque processeur sur un système de 4 processeurs, etc.). En mode Solaris, une moyenne de charge de 1 signifie que Tous les processeurs sont entièrement chargés (il est donc en fait équivalent à " Mode IRIX "CHARGE Divisé par CPU Compte )).

18
wazoox

La moyenne de la charge montre combien de processus attendent sur la file d'attente (ajustée pour le nombre de processeurs). Avec un processeur, une charge de charge de 1.0 signifie que cette CPU est capable de traiter pleinement toutes les demandes de la file d'attente de manière optimale - aucun processus n'attend que la CPU et aucun cycles de processeur n'est gaspillé (c'est-à-dire oisif). Une moyenne de charge de 2,0 (sur un système monocore (signifierait que la moitié des processus attendrait une chance de courir sur la CPU : ne moyenne de charge de 0,33 signifierait qu'il y a si peu de charge sur le système que 2/3 du temps que la CPU ne fait fondamentalement que d'attendre que plus de processus courent.

Le pourcentage de la CPU montré par le haut est une mesure de la fréquence à laquelle un seul processus est chargé par le noyau pour fonctionner sur la CPU, en moyenne sur une période de temps. De sorte que 350% sur un système de 4 cœurs signifient que, pendant une période de temps, MySQLD prendrait plus de trois processeurs complets et la moitié du temps de la quatrième processeur - c'est-à-dire qu'il a tant de threads à courir qu'il margea à peu près le 4 cœurs avec des demandes. Le pourcentage de la CPU ne prend pas vraiment en compte les files d'attente d'attente (alors que la moyenne de charge): c'est une statistique après-la-facture de ce qui s'est passé dans un certain temps. Mais cela montre certainement quels processus utilisent récemment la ou les processeurs.

Un autre article approfondi sur le même sujet: --- (http://www.linuxjournal.com/article/9001

6
Gwyneth Llewelyn

Il y a 4 x 100%, donc "TOP" indique un total de 400% sur une boîte à 4 processeurs.

4
Jeremy Smyth

Chaque processus de la CPU est considéré comme 100%. Donc, totalement, 400% de 4 CPU.

3
joe