J'exécute des projets informatiques distribués, qui souhaitent généralement utiliser 100% du processeur. Comment limiter l'utilisation du processeur en termes de température au lieu de pourcentage d'utilisation? De plus, quelle est la température de sécurité maximale pour maintenir un Intel i5 en marche 24h / 24 et 7j / 7? (Sans limite CPU, FahCore_a4 fait fonctionner cette machine à 82 degrés Celsius.)
la source
Voici comment je l'ai résolu en utilisant bash. Si quelqu'un propose un meilleur démon (mieux pour rester près de la température cible), veuillez le poster.
la source
Le CPU lui-même a un mécanisme où il se met hors tension s'il fait trop chaud. (peut-être pas si vous désactivez les interruptions SMI, je n'en suis pas sûr.)
La principale application de l'espace utilisateur est le
lm-sensors
package. Après l'avoir installé, exécutez-lesensors-detect
pour le configurer, si vos machines sont les mêmes, vous pouvez l'exécuter une fois et utiliser les résultats obtenus partout.La fréquence du processeur est facilement contrôlée via le sous-système du pilote cpufreq. voir https://wiki.archlinux.org/index.php/CPU_Frequency_Scaling
Vous pouvez écrire un démon qui utilise des capteurs lm pour interroger la température et s'il est trop chaud, baisser la fréquence du processeur.
la source
C'est ainsi que j'ai résolu mes problèmes de surchauffe qui n'étaient pas causés par un processus spécifique, mais par l'échec de mon ordinateur portable à dissiper la chaleur causée par un fonctionnement sur une charge CPU élevée pendant des périodes plus longues. La principale différence avec la solution proposée par da code monkey lui-même est que j'utilise la mise à l'échelle de la fréquence du processeur, au lieu d'utiliser cpulimit sur un processus spécifique. Depuis que j'ai installé et exécuté Psensor de toute façon, je me connecte à Psensor. Un démon comme da code monkey suggéré devrait également fonctionner, mais deux seuils (min et max) sont requis. Dans Psensor (Préférences de capteur-> Alarme), je règle une alarme pour le capteur concerné si elle devient supérieure au seuil haut (j'utilise 85) ou inférieure au seuil bas (j'utilise 80). Dans Préférences-> Capteurs-> Script exécuté lorsqu'une alarme est déclenchée, j'appelle mon script heatcontrol.sh comme ceci:
/ALLUSER/heatcontrol.sh powersave ondemand 82
Le premier paramètre est un scaling_governor valide qui réduit la fréquence du processeur, par exemple, powersave. Le deuxième paramètre est le scaling_governor - ondemand par défaut pour la plupart des systèmes. Le troisième paramètre est une température entre le seuil bas et le seuil haut (la valeur exacte n'est pas importante). Psensor ajoute deux autres paramètres: un identifiant de capteur et la température signalée.
Et voici mon script heatcontrol.sh:
Fonctionne très bien pour moi (UBUNTU 14.04 LTS).
En tant que novice de Linux et bash, j'ai utilisé un certain nombre de ressources, notamment:
https://wiki.archlinux.org/index.php/CPU_frequency_scaling
http://elinux.org/Jetson/Performance#Viewing_the_current_CPU_status
la source