64 votes

Comment mon ordinateur peut-il utiliser 300 % de sa puissance de traitement ?

Je m'amuse avec un script et bien je me suis laissé emporter (il tourne encore en ce moment et pourtant mon ordinateur n'est pas encore mort). J'exécute 17 itérations du script (avec l'intention de faire planter mon ordinateur).

En regardant le moniteur d'activité, je vois que chaque processus Python a un pid unique et qu'ils semblent occuper environ 17-20% de ma puissance de traitement chacun... Comment est-ce possible ? Est-ce que mon ordinateur a magiquement gagné 200% de puissance et a brisé les lois de la thermodynamique quelque part ?

Enter image description here

101voto

Vasfed Points 1262

Sur OS X, comme sur les autres *nixes, la charge CPU est mesurée par cœur de processeur virtuel. Si vous en avez plusieurs - vous pouvez avoir 200% et plus combinés en pleine charge.

C'est différent de Windows et peut-être d'autres systèmes, où la charge CPU est calculée par CPU entier (ou CPUs - je ne me souviens pas comment il se comporte quand il y a plusieurs processeurs physiques).

81voto

Daniel B Points 52129

OS X et Linux et peut-être d'autres systèmes d'exploitation UNIX (ou plutôt les outils les plus courants sur ces systèmes) affichent l'utilisation du CPU différemment de Windows. Sous Windows, 100% signifie " tous Ressources CPU utilisées". Sous Linux, cela signifie qu'un "thread" (comme dans Hyper-threading) est complètement occupé. En tant que tel, il peut atteindre jusqu'à (Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs) au total.

Bien que cela ne soit pas entièrement lié, un autre fait intéressant : Windows 10 normalise davantage l'utilisation du CPU en utilisant l'état d'étranglement actuel du CPU. Ainsi, un processeur de 2 GHz fonctionnant à 1 GHz ne sera occupé qu'à 50 %.

12voto

Tetsujin Points 37420

Comme déjà indiqué dans plusieurs réponses, Mac affiche le pourcentage de CPU de chaque processus en tant que "pourcentage d'un cœur", vous devez donc diviser ce chiffre par le nombre de cœurs [y compris HT en tant que "double"].

Si vous n'êtes pas sûr du nombre de cœurs virtuels dont vous disposez, Cmd 3 fera apparaître le volet Historique du CPU de Activity Monitor, où vous pourrez simplement compter les bandes ;)

enter image description here

Juste en dessous de l'endroit où vous avez coupé l'image se trouvent les informations dont vous avez besoin pour déterminer rapidement l'utilisation totale réelle pour System :, User : et Idle : C'est là que se trouve votre total simple à 100%.

enter image description here

6voto

Jason Points 1025

Le moniteur d'activité ne mesure pas réellement la puissance de traitement utilisée par chaque application/processus, il l'estime simplement à l'aide d'un algorithme. Il peut donc être imprécis...

De plus, comme le souligne @Vasfed, la consommation du CPU est mesurée par cœur de processeur. Plusieurs cœurs peuvent signifier une utilisation supérieure à 100 %...

Un geek tombe parfois sur ce phénomène et reste bouche bée jusqu'à ce qu'un super utilisateur vienne à son secours... ;D

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X