Existe-t-il des solutions permettant de limiter l'utilisation du processeur par un processus?

70

J'utilise un vieil ordinateur portable et effectue des traitements lourds qui nécessitent une utilisation intensive du processeur pendant une longue période (~ 30 minutes - 2 heures). Lorsque le processus impose une charge importante au processeur pendant longtemps, celui-ci surchauffe et l'ordinateur s'arrête. Je ne veux pas utiliser de glacière / support car je porte ce portable et je travaille à l'extérieur de la maison.

Existe-t-il un moyen / une application permettant de limiter l'utilisation du processeur d'un processus sous Windows?

Remarque: La définition de la priorité du processus à partir du gestionnaire de tâches ne fonctionne pas.

Note 2: Les ventilateurs sont propres.

nimcap
la source
6
Louer 3 heures de temps processeur sur EC2 n'est-il pas faisable? J'imagine que cela fonctionnerait beaucoup mieux dans la plupart des cas.
digitxp
pouvez-vous spécifier quelle version de Windows et quel ancien ordinateur portable? S'il y a un double cœur, vous pouvez simplement spécifier que l'application ne doit fonctionner que sur un seul cœur, ce qui la maintient à 50% et par conséquent à des températures plus froides.
Joris Meys
4
@digitxp: Je suis doctorant en ce moment, si c'était à des fins professionnelles, j'aurais acheté un nouvel ordinateur portable ou utilisé une puissante machine de bureau de toute façon :)
nimcap

Réponses:

64

Une recherche sur le net apporte des programmes qui peuvent aider. Ils sont tous gratuits .

BES - Battle Encoder Shirase

BES est un petit outil qui limite l'utilisation du processeur pour un processus spécifié: vous pouvez, par exemple, limiter l'utilisation du processeur d'un processus utilisant 100% du processeur, jusqu'à 50% (ou le pourcentage de votre choix). Avec cela, vous pouvez utiliser d'autres programmes confortablement tout en effectuant une tâche gourmande en arrière-plan. En limitant la charge du processeur, vous pouvez également le refroidir immédiatement lorsqu'il fait trop chaud. Bien sûr, la vitesse de traitement ralentira proportionnellement si vous limitez l'utilisation du processeur, mais cela devrait être beaucoup mieux que de tomber en panne à cause de la chaleur ou (dans le pire des cas) d'avoir votre ordinateur en panne avec un processeur brûlé.

Processus Tamer

Process Tamer est un utilitaire minuscule (140 Ko) et extrêmement efficace pour Microsoft Windows XP / 2K / NT / Vista / Win7 qui s'exécute dans la barre d'état système et surveille en permanence l'utilisation du processeur par d'autres processus. Lorsqu'il voit un processus surchargeant votre processeur, il réduit temporairement la priorité de ce processus, jusqu'à ce que son utilisation du processeur revienne à un niveau raisonnable.

Process Lasso

Process Lasso est une nouvelle technologie unique qui améliorera la réactivité et la stabilité de votre PC pendant les périodes de forte charge du processeur. Windows, par sa conception, permet aux programmes de monopoliser votre processeur sans contrainte - ce qui provoque le gel, le blocage et la micro-latence. La technologie ProBalance (Process Balance) de Process Lasso ajuste intelligemment les priorités des programmes en cours d'exécution de sorte que les processus mal organisés n'affectent pas négativement la réactivité de votre PC.

Mehper C. Palavuzlar
la source
10
des trois BES semble être le meilleur pari. les deux autres utilisent des valeurs de priorité qui ne fonctionnaient pas selon la question
RobotHumans
4
BES est mon choix. Il est léger et fait ce que nous sommes censés faire.
nimcap
1
BES ne parvient pas à limiter Windows Live Mesh (MOE.exe); il continue à utiliser 95% quels que soient les paramètres. Les autres ne peuvent pas aider, car la priorité est déjà définie pour la veille. Cela rend l’OS très lent de toute façon.
RomanSt
Droite. Le BES est l'unique performance d'un limiteur% cpu. Pourquoi est en 3ème position ?? :(
erm3nda
Sur la page Web de BES: "Oui, BES est un outil qui fait périodiquement dormir la cible pendant très peu de temps".
mtone le
15

La solution la plus simple que j'ai trouvée consiste à limiter la puissance du processeur.

  1. Allez au panneau de configuration.
  2. Matériel et son
  3. Options d'alimentation
  4. Modifier les paramètres du plan
  5. Modifier les paramètres d'alimentation avancés
  6. Gestion de l'alimentation du processeur
  7. Etat du processeur maximum et abaissez-le à 80% ou à votre guise. En utilisant un logiciel qui mesure la température du processeur, comme «Ventilateur de vitesse», vous verrez que la température baisse.
Zeppi Ta Leli II
la source
Vous pouvez également ajuster la politique de refroidissement car le mode passif peut vous aider
CrandellWS
9

Bien sûr, c’est une vieille question, mais je suis surpris que personne ne l’ait suggéré pour le moment:

Réduisez la vitesse de votre processeur.

Pratiquement tous les ordinateurs portables et Windows lui-même ont des mécanismes intégrés pour ajuster dynamiquement la vitesse du processeur en fonction de la charge. Vous pouvez remplacer ce comportement - par exemple, dans le Panneau de configuration => Options d'alimentation => Avancé, vous pouvez définir une vitesse de processeur maximale inférieure à 100%. Votre processeur sera alors limité à une vitesse inférieure et générera ainsi moins de chaleur, quelle que soit votre activité.

Cela ne nécessite aucun logiciel supplémentaire et, plus important encore, la réduction de la vitesse de votre processeur rend votre processeur plus efficace . Il s'agit donc d'une meilleure solution que de limiter l'utilisation de votre processeur sous Windows. L'utilisation de 50% d'un processeur à 2,0 GHz consomme considérablement plus d'énergie qu'un processeur à 100 GHz à 1,0 GHz. Moins de puissance = moins de chaleur.

qasdfdsaq
la source
5

Je voulais ajouter l'application que j'avais utilisée par le passé pour limiter l'utilisation du processeur. J'ai utilisé threadmaster plusieurs fois dans le passé.

http://threadmaster.tripod.com/

John
la source
5

Sous Windows 10, 8 et 7:

  1. Aller au gestionnaire de tâches.
  2. Cliquez avec le bouton droit sur le processus pour lequel l'utilisation de l'UC doit être limitée. Cliquez sur Aller aux détails .
  3. Maintenant, l'onglet de détail apparaîtra. Cliquez avec le bouton droit de la souris sur le processus en question, choisissez l' option Définir l'affinité , puis choisissez les cœurs que vous autoriserez le processus en question.
sebine francis
la source
1
Dans Windows 7, un clic droit sur un processus dans le gestionnaire de tâches ouvre un menu contextuel. L'une des options est "Définir l'affinité" qui fonctionne comme vous le décrivez.
David Richerby
Le processus que je souhaite limiter à l’utilisation du processeur est grisé. L' option Aller aux détails est grisée.
Santosh Kumar
3

Au lieu de télécharger un programme pour le faire, si vous allez dans le gestionnaire de tâches et allez dans les détails, vous verrez une liste des processus que vous exécutez. Si vous cliquez avec le bouton droit de la souris et que vous utilisez l'option "Définir l'affinité" au lieu de "Définir la priorité", vous pouvez sélectionner le nombre de cœurs utilisés par un programme individuel, ce qui limite la quantité d'utilisation du processeur par le programme.

GimmeMyGold
la source
La plupart des programmes sont mono-threadés, donc définir l'affinité sur 1 core ne vous aidera pas du tout. (Les programmes à un seul thread ne peuvent utiliser qu'un seul cœur de processeur et n'utilisaient pas plus d'un cœur en premier lieu.)
CausingUnderflowsEverywhere
3

Un autre moyen très pratique de définir l'affinité d'un certain exécutable lors de son lancement consiste à utiliser la commande start .

par exemple, "start / affinity F iexplore.exe". Si vous souhaitez démarrer une seule application ainsi étranglée, vous pouvez créer un raccourci avec cette commande. Notez que l'affinité est définie par une valeur hexadécimale, ce qui peut nécessiter quelques essais et erreurs. Vérifiez le processus dans le gestionnaire de tâches pour afficher le résultat réel de l'affinité!

Voir plus ici: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx

HPHP
la source
2

De nos jours, la meilleure solution consiste à limiter l'utilisation de la CPU par processus en limitant l'affinité de la CPU (cœurs auxquels le processus a accès). Vous avez moins de précision (vous ne pouvez limiter que certains pourcentages), mais il s'agit d'une opération plus naturelle que d'essayer de suspendre et de reprendre périodiquement les processus. Process Lasso effectue un travail de qualité avec des affinités de processeur par défaut (persistantes). Cependant, il y a aussi une limitation 'difficile' du style BES, bien que ce ne soit pas recommandé car c'est un acte tellement peu naturel.

Dyasta
la source
1

Un underclocking du processeur vous permettra d’atteindre des vitesses de processeur inférieures, diminuant la chaleur produite. Vous aurez peut-être besoin d'une expérience avancée si votre carte mère ou votre processeur ne dispose pas d'un moyen de modifier la vitesse d'horloge à l'aide d'un programme téléchargeable. (Recherchez des utilitaires d’overclockage pour votre processeur ou votre carte mère (uniquement auprès du fabricant de votre processeur et de votre carte mère), sachez que l’intersection vous intéressera.)

Dans le cas où aucun utilitaire ne serait disponible, vous devrez entrer le BIOS de votre ordinateur et modifier la vitesse d'horloge de votre processeur. Le moyen le plus simple consiste à régler le multiplicateur sur un nombre inférieur. Ne touchez pas les tensions, car cela pourrait endommager votre processeur si celui-ci est trop élevé ou provoquer des erreurs s'il est trop bas. Les fréquences ne doivent pas être modifiées non plus, mais uniquement le multiplicateur. Pour revenir aux paramètres par défaut, lisez le manuel de votre BIOS pour déterminer la touche à utiliser pour restaurer les paramètres par défaut. (Ou inspectez simplement l'écran du BIOS, en particulier l'écran de sortie.)

CausingUnderflowsEverywhere
la source