web-dev-qa-db-fra.com

charge du processeur non répartie sur les cœurs

Sous une tâche lourde, il semble que la charge du processeur ne soit pas répartie sur tous les cœurs disponibles et que le ventilateur se déclenche alors que j'attends que l'opération soit effectuée ... En regardant le moniteur du processeur, un processeur est à 100% lorsque les autres sont inactifs.

J'ai un i7 avec 8 cœurs avec Ubuntu 13.10 et ça me dérange d'avoir à attendre quand je sais qu'il y a 8 fois plus de puissance disponible.

Je peux reproduire cela en ouvrant un gros fichier (70M) avec gedit, mais cela se produit dans diverses circonstances.

Que puis-je faire à ce sujet?

à votre santé!

2
pdelorme

Un i7 possède en fait 4 cœurs, mais chaque cœur a deux hyperthreads (ce qui signifie qu'il peut basculer entre deux tâches très rapidement). Pour l'OS, cela ressemble à 8 cœurs, donc la distinction n'est probablement pas pertinente ici. Pardon. :-)

D'accord, le système d'exploitation peut donc utiliser l'i7 pour faire 8 choses efficacement à la fois. Mais cela suppose qu'il a 8 choses à faire en même temps. S'il n'a qu'une seule chose à faire, il n'utilisera qu'un seul cœur.

C'est là que threading entre en jeu. Les programmes peuvent être écrits pour utiliser des threads - GIMP et ImageMagick sont deux programmes que je connais qui font cela. Lorsqu'ils ont une tâche compliquée à faire, ils se divisent pour travailler et l'exécuter dans différents threads, que le système d'exploitation attribue à différents cœurs. Essayez de configurer ImageMagick pour travailler sur le traitement d'un très grand JPEG, et vous verrez les 8 cœurs s'affairer.

Maintenant, je ne sais pas si gedit est multithread ou non - mais même si c'est le cas, le travail principal lors de l'ouverture d'un fichier 70M consiste à traiter les interruptions de disque lorsque le fichier est chargé, et je pense que le travail est limité à un cœur.

Que peux-tu y faire? Occupez-vous simplement de plusieurs tâches, demandez à votre ordinateur de faire beaucoup de choses à la fois, puis la charge sera répartie sur les cœurs.

4
David Purdue