Mon ordinateur portable (un HP avec une puce i3) surchauffe comme un fou chaque fois que j'exécute un processus gourmand en ressources (comme une grande compilation, extraire de grandes archives tar ou ... jouer à Flash).
Je suis actuellement à la recherche de solutions de refroidissement mais j'ai eu l'idée de limiter la consommation mondiale de CPU. J'ai pensé que si le CPU est plafonné, il est probable que la température cessera d'augmenter frénétiquement, et je suis prêt à sacrifier un peu de performance pour faire le travail.
- Ai-je tort dans mon raisonnement?
- Comment puis-je limiter l'utilisation globale du processeur?
Si cela aide, j'utilise Debian.
Réponses:
Je ne sais pas que limiter le CPU à l'ensemble du système est quelque chose qui est possible sans beaucoup de piratage, mais vous pouvez facilement limiter la quantité de CPU utilisée par un seul processus en utilisant cpulimit
La seule façon dont je peux penser que vous pouvez utiliser cela efficacement est d'écrire un script wrapper (ne peut pas vraiment l'appeler un script, c'est si petit) pour les applications que vous connaissez sont des porcs de ressources. Disons par exemple, que vous trouvez que google-chrome utilise beaucoup de CPU, vous pouvez remplacer le binaire google-chrome sur votre chemin par quelque chose comme:
Je n'ai pas testé cela, alors prenez-le avec un grain de sel. Sur le site Web de cpulimit, il semble que vous puissiez définir des règles pour les limites de processeur sur différentes applications. Je ne suis pas sûr, il faudrait y jeter un œil.
la source
Une autre alternative qui n'a pas été mentionnée est celle
cpufrequtils
que j'ai installée et utilisée sur mon ordinateur portable avec Debian 6. Elle vous permet de changer l'algorithme ( gouverneur , encpufrequtils
terminologie) que le noyau utilise pour augmenter et diminuer la fréquence d'horloge en réponse pour charger - en particulier, leuserspace
gouverneur vous permet de verrouiller la fréquence à quelque chose de votre choix (bien sûr, le CPU doit être capable de fonctionner à cette vitesse).Je l'ai utilisé pour verrouiller un Atom à 800 MHz au lieu de 1,6 GHz, par exemple. C'est très simple à utiliser.
la source
Vous pouvez limiter automatiquement vos cœurs de processeur en fonction de la température à l'aide du script temp_throttle . Il peut fonctionner en arrière-plan pendant que vous vous concentrez sur des choses plus importantes. Un exemple sur la façon d'exécuter:
* Avertissement - Je suis l'auteur et le mainteneur de temp_throttle *
la source
Allez dans le bios et underclockez le processeur. - Pas besoin d'intelligence.
la source
Visitez cette page, elle explique comment installer et utiliser
cpulimit
dans Debian et Ubuntu:http://www.howtoforge.com/how-to-limit-cpu-usage-of-a-process-with-cpulimit-debian-ubuntu
la source
Il n'est pas nécessaire de changer le gouverneur, il vous suffit de changer la valeur de
/sys/devices/system/cpu/*/cpufreq/scaling_max_freq
pour chaque cœur de processeur.Par exemple avec ceci pour la boucle:
voir aussi mon script setcpu .
( commandes originales trouvées ici )
la source
Vous pouvez utiliser
renice
pour modifier la priorité du processus par identifiant de processus ou de groupe. À partir des exemples pourrenice
:Ajustez la valeur de Nice afin que les ID de processus 987 et 32 aient une valeur de Nice inférieure:
renice -n 5 -p 987 32
Ajustez la valeur gentille de sorte que les ID de groupe 324 et 76 aient une valeur gentille plus élevée, si l'utilisateur a les privilèges appropriés pour le faire:
renice -n -4 -g 324 76
Ajustez la valeur gentille de sorte que l'ID utilisateur numérique 8 et le sas utilisateur aient une valeur gentille inférieure:
renice -n 4 -u 8 sas
la source