web-dev-qa-db-fra.com

Pourquoi mon processeur ne fonctionne-t-il pas au maximum de son potentiel même lorsque mon application (qui utilise ses ressources) est à la traîne?

Pourquoi mon processeur ne dépasse-t-il jamais au maximum même lorsque mon application, qui consomme 40% du processeur (mais que 30 à 40% du processeur reste inactif), est en attente

Cela signifie t-il:

  1. Il existe un moyen de forcer le processeur à fonctionner à 100%
  2. Les processeurs sont fabriqués de cette manière et la seule chose que je peux faire est d’acheter du nouveau matériel.
  3. La limitation réside dans l'application et le décalage ne s'améliorera pas, même avec un meilleur processeur. (En supposant que l'application soit parfaite, je demande si le logiciel est exécuté de cette manière?)
  4. Autre chose.
29

Vous exécutez probablement des applications mono-thread qui ne peuvent contenir qu'un seul cœur de processeur. Étant donné que 100% d'un cœur représente moins de 100% de la capacité d'un processeur multicœur, total l'utilisation du processeur n'atteint pas 100%.

Vous pouvez le confirmer en consultant l'utilisation principale individuelle dans le Gestionnaire des tâches. Recherchez les cœurs simples qui s'approchent d'une utilisation maximale.

94

Vous n'avez pas spécifié votre système d'exploitation. Donc, la réponse sera commune comme.

Les applications peuvent être limitées pour diverses raisons. Le goulot d'étranglement peut être dans:

  • CPU
    • faible vitesse
    • applications à threads simples/faibles (ne peuvent pas utiliser tous les cœurs/threads)
  • I/O
    • débit du disque
    • latence du disque
    • débit du réseau
    • la latence du réseau
  • mémoire
    • capacité
    • passage rapide
    • latence
    • cache insuffisant
    • localité (NUMA)
    • swapping

Et il y a d'autres raisons qui ne sont pas si courantes.

Alors jetez un coup d'œil à vos ressources système et essayez d'analyser votre système pour rechercher d'autres goulets d'étranglement que la charge totale du processeur.

50
Jaroslav Kucera

En général, lorsque les gens parlent de la lenteur de leur ordinateur, je parle de poussière. En tant qu’ancien informaticien avec 15 ans d’expérience professionnelle, j’ai constaté que le simple fait d’évacuer la poussière pouvait considérablement améliorer les performances.

Je ne parle pas d'une fine quantité de poussière, presque imperceptible, mais plutôt de grosses touffes ou même de nattes qui empêchent un flux d'air normal. J'ai vu des dissipateurs de chaleur recouverts d'un filtre en poussière, plutôt que d'un simple filtre. Cela empêche une quantité d’air très importante de ne jamais refroidir le processeur. Ce type de dépoussiérage aura tendance à calmer les ventilateurs instantanément et à permettre à vos composants de survivre plus longtemps. La chaleur avait tué de nombreux ordinateurs que l’on me demandait de réparer.

En suivant l’idée du problème de la chaleur, vous pouvez également essayer une meilleure pâte thermique. La plupart des processeurs blancs cr @ p sont similaires à la pâte thermique Yugo. J'utilise Arctic Silver, mais il y a mieux que ça, même. Arctic Silver est à propos d'un Porche (en utilisant l'échelle de classement des voitures), mais il existe des variétés de Ferrari et de supercar sur le marché.

Les processeurs ont tendance à ralentir lorsqu'ils surchauffent. C’est une chose physique ainsi qu’une "conservation" programmée dans de nombreux processeurs. Je ne sais pas s'il restera affiché à 100% dans le Gestionnaire des tâches ou à 40% (comme vous le voyez), mais il peut s'agir d'un ralentissement important pendant que le processeur tente de laisser le radiateur et le ventilateur " rattraper."

Une autre chose qui pourrait ralentir votre processeur est le GPU. Si vous exécutez des jeux ou des utilitaires graphiques intensifs (comme la CAO), votre GPU peut bloquer votre processeur. Obtenir une meilleure carte vidéo pourrait être quelque chose à regarder. En outre, l’utilisation de la mauvaise carte peut vous ralentir. Les cartes de jeu ne sont pas (généralement) conçues pour fonctionner avec CAD ainsi que les cartes de poste de travail, et les cartes de poste de travail (en général) ne fonctionnent pas très bien non plus. Certains le font, mais la plupart ne le font pas.

Comme @Jaroslav Kucera l'a mentionné, cela pourrait être lié au disque. Frapper beaucoup les HD peut vous ralentir. Je cours normalement plusieurs lecteurs. L'une dédiée au système d'exploitation et à d'autres logiciels, fichiers de page Windows, fichiers personnels, etc. En plus de ne pas trop s'inquiéter de la sauvegarde de données personnelles en cas de défaillance du système d'exploitation, la présence de plusieurs disques durs répartit considérablement la charge de travail. Lire et écrire simultanément sur le même disque peut sérieusement ralentir le disque dur. L'utilisation de DHD peut atténuer cela, mais pas entièrement. Photoshop et les logiciels de montage vidéo sont connus pour frapper fort les HD. Lire un disque dur puis le lire sur un deuxième disque dur est la voie à suivre. Cela aide également la vie de vos disques durs. Je vais aussi avec un refroidissement actif sur mes disques durs. Je n'ai pas tué de disque dur depuis que j'ai installé un ventilateur et un dissipateur de chaleur sur eux il y a plus de 15 ans. Google eux, ils sont une assurance pas cher.

Croyez-le ou non, votre PSU pourrait également vous ralentir. Si vous ne disposez pas de suffisamment de puissance (ou que votre bloc d’alimentation est vieux ou qu’il s’agit d’un PDV chinois peu coûteux, surévalué), vous risquez d’avoir des problèmes de performances. J'ai moi-même constaté les problèmes de système d'exploitation impossibles à résoudre avec un bloc d'alimentation instable. Vous recherchez une tension ainsi que des ampères, assurez-vous qu'ils correspondent tous aux spécifications du bloc d'alimentation, si vous choisissez cette voie, et assurez-vous également qu'ils respectent ou dépassent vos besoins en énergie. Si vos composants totalisent 500 watts et que vous leur en donnez même 475, c'est mauvais. Je recommande de dépasser vos besoins d’environ 20%. Ainsi, à mesure que votre bloc d’alimentation vieillit (et perd de la puissance) et que vos autres composants vieillissent (et nécessitent une grande puissance), vous ne serez pas obligé d’acheter un nouveau bloc d’alimentation aussi rapidement.

En incluant les autres réponses ici, il y a encore plus de raisons pour que votre ordinateur fonctionne lentement. À l'exception de l'option PSU, ce dont j'ai parlé a été très souvent vu quand j'étais un informaticien. Faire un point de repère et d’autres tests est la seule façon de comprendre les choses. L'échange de pièces peut même ne pas résoudre le problème s'il s'agit d'une combinaison de plusieurs pièces provoquant le ralentissement.

Et, autant que je sache, il n’ya aucun moyen de forcer votre ordinateur à utiliser 100% du processeur. Le processeur et le système d'exploitation savent généralement ce qu'ils doivent faire et sont vraiment efficaces dans leur travail. :-) Je pense que personne n’a encore trouvé le moyen de forcer l’alimentation d’un processeur pour le faire fonctionner à 100% quand vous le pensez bien. Du moins pas sans lui donner du bric-à-brac supplémentaire pour que le pourcentage "soit beau".

Quand vous voyez 40% et pas et un chiffre entier de 100% (comme 25%, 33% ou 50%), j'ai l’impression que ce n’est pas un problème unique. Cela pourrait être le cas, mais ce n’est pas ce que je pense. +1 à Twisty Impersonator pour l’avoir soulevée tout de suite.

Bonne chance pour essayer de comprendre celui-ci! J'ai passé des jours à essayer de résoudre ce type de problème, pour finalement remplacer la plupart des tripes en «dernier recours».

11
computercarguy

Il peut s’agir de paramètres d’économie d’énergie dans le BIOS ou le système d’exploitation. De nombreux processeurs et cartes mères modernes ont des paramètres permettant au processeur d'être plus économe en électricité, (particulièrement pour les ordinateurs portables qui veulent que la batterie dure plus longtemps). Vous pouvez probablement désactiver un tel paramètre, mais assurez-vous de savoir ce que vous faites car, à côté du paramètre, il y a généralement d'autres éléments qui peuvent affecter de manière importante les fonctionnalités de l'ordinateur.

2
mathreadler

Sans connaître les spécificités de votre programme, c'est difficile à dire, mais comme une autre réponse envisage la possibilité que l'application soit à thread unique, je regarderai l'application comme si elle utilisait le multithreading approprié.

Une chose commune qui est négligée est les cœurs physiques par opposition aux "cœurs hyperthreaded". L'hyperthreading excelle dans de nombreuses tâches courtes avec des goulots d'étranglement autres que le processeur. Pour les tâches goulot d'étranglement CPU en boucle serrée, vous êtes toujours limité par votre nombre de cœurs physique, qui correspond généralement à la moitié de votre nombre de cœurs hyperthreaded. Dans le pire des cas, votre gestionnaire de tâches peut ne montrer que 50% d'utilisation, car il compte les cœurs hyperthreaded dans ses graphiques, alors qu'en réalité, vos cœurs physiques peuvent être utilisés à 100%. En règle générale, vous en montrerez plus que cela, car votre système d'exploitation pourra utiliser l'hyperthreading pour d'autres tâches non liées.

1
Physics-Compute

Je rencontre régulièrement une utilisation de 100% lors de tâches de rendu et de calcul. Je vérifierai que l'hyperthreading atteindra 100%, et la commande d'instructions est un gros problème. Intel et AMD ont tous deux de grandes quantités de matériel dédié à la réorganisation des instructions afin de remplir autant de cœurs d'exécution que possible. Si vous obtenez 30% sur une machine moderne, vous pouvez

  • Vérifiez Temps - Intel et AMD tous les deux en downclock quand ils sont chauds et cela se voit comme bégaie et pointe.
  • Ne faites pas grand chose avec elle .... les exemples sont:
    1. Navigation sur le Web
    2. Email
    3. La plupart des jeux simples
    4. Je vous garantis presque que votre problème est l'un des éléments suivants, en commençant par le haut:
  • Obtenir un SSD
  • Obtenir un SSD
  • Obtenez votre système d'exploitation sur le SSD et déplacez les données normales vers un lecteur traditionnel multi-To. Windows a besoin de plus d’accès à ses fichiers locaux qu'autre chose.
  • Bonazai Buddy?
  • Conservez tous les lecteurs à au moins 10% de leur capacité. NTFS est un système de fichiers journalisé et les performances diminuent à mesure que le lecteur se complète.
  • Vous avez besoin d’un lecteur NVMe/SSD pour votre lecteur OS dès que possible (oui je l’ai répété). Les performances sont étonnantes et la deuxième partie de notre travail est importante ... Un grand détaillant vendait aujourd'hui des disques Samsung 961 NMVe 512 Go au prix de 300 $, ce qui est suffisant pour un usage normal.
  • Windows 10 est un GPU lourd. Une carte vidéo dédiée à bas prix peut alléger la mémoire et le processeur. Vous pouvez toujours utiliser APU en combinaison avec la carte vidéo, mais vous économiserez de la mémoire RAM et la mémoire VRAM sera généralement beaucoup plus rapide.
  • Les processeurs à nombre de noyaux inférieur sont également liés à la mémoire. Si vous regardez les i7, ils utilisent tous la DDR à quatre canaux dans quatre banques. Les puces Epyc d’AMD seront constituées de DDR5 à 8 canaux avec 64 cœurs. N'aide pas. Enfin, et je ne saurais trop insister sur celui-ci, dépensez autant d’argent que RAM sur votre ordinateur. J'ai 32 Go et j'en achète 32 de plus tard cette année. Windows fait quelque chose de similaire à superfetch qui est un peu plus récent et qui compresse la mémoire in RAM qui n'est pas utilisée afin que les programmes et les données puissent être simplement décompressés si nécessaire. Comme autre exemple, je lance Linux VM pour le développement, alloue 6/12 cœurs et 16 Go de RAM. Après le premier chargement sur le SSD, il démarre dans environ 3 secondes. Le processeur est considéré comme très bon marché de nos jours par des optimisations comme celle-là ... décompresser Photoshop de la mémoire est plus rapide que de charger du disque, sauf dans le cas d'un disque SSD très rapide.

Tout cela me semble exagéré jusqu'à ce que je sois coincé en train de compiler un projet de fichier de 70k ou de mettre à l'échelle des fichiers bruts de caméras géantes en 17 "x26" x600 ppp en 16 bits. Même avec une utilisation à 100%, les ressources sont tellement surchargées que vous ne rencontrez pas de ralentissement. L'autre soir, j'ai réalisé que j'avais deux ordinateurs virtuels et un Wolf 2 chargé avec 2 IDE (je suis distrait, je poursuis en justice) et je ne remarquais pas le ralentissement. Il s’agit d’une machine de 1 500 USD environ, rien de spécial, et le plus lentement acheté au fil des ans. La moitié de celle-ci est l’un des Radeon RX64 car ma carte vidéo avait 6 ans. Grande différence de rendu et autres. La mise à niveau vous permettra probablement de mieux utiliser votre matériel que de supposer que votre utilisation de 30% est tout ce que vous obtiendrez.

Si je jetais un disque dur à 5 400 tr/min dans cette machine pour système d'exploitation, il fonctionnerait comme une merde totale.

TL; DR, on dirait que vous êtes lié au processeur en ce moment. Dépensez quelques centaines de dollars sur au moins un disque SSD de 256 Go pour le système d’exploitation, 8 Go de RAM et une carte de joueur inférieure et l’ordinateur durera des années. Celui-ci a survécu pendant 6 ans avant que je réalise enfin un processeur et que Mobo se régénère et que je compile une suite complète de compilateurs croisés environ 25 fois par jour avec l'ancien équipement.

Appelez-moi exagéré, mais je ne recommande pas 8 cartes Tesla ou quoi que ce soit. :-) Faites des mises à jour mineures quand vous le pouvez et je pense que vous allez résoudre beaucoup de ces problèmes. Je l’ai fait il ya des années en ajoutant un disque SSD à un système Q6600 et en regardant les performances triples.

1
JimmyShinny