91 votes

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

J'utilise un vieil ordinateur portable et je fais un traitement lourd qui nécessite une utilisation élevée du CPU pendant une longue période (~30mins - 2h). Lorsque le processus sollicite fortement le CPU pendant une longue période, celui-ci surchauffe et l'ordinateur s'éteint. Je ne veux pas utiliser un refroidisseur/support parce que je transporte cet ordinateur portable et que je travaille en dehors de la maison.

Existe-t-il un moyen/une application qui me permette de limiter l'utilisation du CPU d'un processus dans Windows ?

Nota: Le réglage de la priorité du processus à partir du gestionnaire des tâches ne fonctionne pas.

Note 2 : Les ventilateurs sont propres.

4voto

HPHP Points 41

Une autre façon très pratique de définir l'affinité d'un certain exécutable lorsqu'il est lancé est d'utiliser la commande commencer comando.

Par exemple, "start /affinity F iexplore.exe". S'il y a une seule application que vous voulez démarrer 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 des tâches pour voir le résultat réel de l'affinité !

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

3voto

e.gluhotorenko Points 799

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 utilisez l'option "set affinity" au lieu de "set priority", vous pouvez sélectionner le nombre de cœurs utilisés par un programme individuel, ce qui limite l'utilisation du processeur par le programme.

2voto

dyasta Points 322

De nos jours, la meilleure solution consiste à limiter l'utilisation du CPU par processus en limitant l'affinité du CPU (cœurs auxquels le processus a accès). Vous avez moins de précision (vous ne pouvez limiter qu'à certains pourcentages), mais c'est une opération plus naturelle que d'essayer de suspendre et de reprendre périodiquement les threads du processus. Lasso de processus fait un excellent travail avec les affinités par défaut (persistantes) du CPU. Cependant, il a également une limitation "dure" de type BES, bien que cela ne soit pas recommandé car c'est un acte si peu naturel.

1voto

L'underclocking du CPU vous permettra d'atteindre des vitesses de CPU plus lentes, réduisant ainsi la chaleur produite. Vous aurez peut-être besoin d'une expérience avancée si votre carte mère ou votre CPU ne dispose pas d'un moyen de modifier la vitesse d'horloge à l'aide d'un programme téléchargeable. (Recherchez les utilitaires d'overclocking pour votre CPU ou votre carte mère (uniquement auprès du fabricant de votre CPU et de votre carte mère), notez simplement que vous serez intéressé par l'underclocking).

Dans le cas où il n'y a pas d'utilitaires disponibles, vous devrez entrer dans le BIOS de votre ordinateur et modifier la vitesse d'horloge de votre processeur. Le moyen le plus simple est de régler le multiplicateur à un nombre inférieur. Ne touchez pas aux voltages car ils peuvent endommager votre processeur s'ils sont trop élevés, ou provoquer des erreurs s'ils sont trop bas. Les fréquences ne doivent pas non plus être modifiées, seulement le multiplicateur. Pour revenir aux paramètres par défaut, lisez le manuel de votre BIOS pour déterminer la touche à appuyer pour restaurer les paramètres par défaut. (Ou bien inspectez simplement l'écran du BIOS avec attention, en particulier l'écran de sortie).

1voto

Hani Yassine Points 23

Vous pouvez limiter l'affinité comme d'autres l'ont mentionné (gestionnaire des tâches > onglet détails > trouver le fichier exe > clic droit > définir l'affinité > supprimer une partie du processeur) mais l'affinité sera réinitialisée chaque fois que vous lancez l'application pour limiter de façon permanente l'affinité pour une application, vous devez créer un raccourci avec une commande spécifique pour le faire clic droit (sur le bureau ou un dossier) > Nouveau > raccourci et coller cette commande :

C:\Windows\System32\cmd.exe /c start "NameOfTheapp" /affinity X "path to the app exe"

exemple :

C:\Windows\System32\cmd.exe /c start "HandBrake" /affinity 3F "G:\Program Files\HandBrake\HandBrake.exe"

X est une valeur hexadécimale. Par exemple, si dans l'onglet affinité j'ai 8 cpu et que je veux utiliser les 6 premiers, vous devez imaginer chaque cpu comme binaire : 0 est éteint et 1 est allumé.

enter image description here

donc j'obtiens 00111111 puis vous convertissez ce binaire en hexadécimal (vous pouvez googler binaire en hex et utiliser la calculatrice) donc c'est 3F en hex.

le raccourci aura l'icône cmd pour le changer en icône d'application clic droit sur le raccourci > propriétés > onglet raccourci > changer d'icône > naviguer jusqu'au fichier exe de l'application et le sélectionner et cliquer sur ok maintenant vous aurez l'icône d'application

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