#26 Le 06/11/2008, à 19:33
- pnprog
Re : CPU throttling > baisser la fréquence (température?) du CPU
J'aurai aimé savoir comment combiner les 2 effets et conserver cette config. ?
Je ne sais pas vraiment si c'est possible. En fait:
Vous pouvez combiner l'échelonnage de la fréquence avec la régulation du temps processeur ACPI (« ACPI CPU throttling ») pour obtenir une fréquence minimale plus basse.
Je pense qu'il y a une erreur ici, car ça m'étonnerait que le throttling modifie la fréquence du processeur, je crois que ce sont juste des instructions spéciales qui aident le processeur à se refroidir. On peut ainsi diminuer la vitesse du ventilateur, et c'est ainsi si qu'on récupère de l'énergie, et qu'on fait moins de bruit. Mais c'est à vérifier ce que je dis.
La fréquence de mon proco (double coeur je crois) est ajustable (Gouverneur sur Conservative) toutefois sa fréquence mini est à 800 (400 ou 600 sur vista).
J'ai lu dans la documentation Ubuntu que tu peux modifier les fréquences disponibles si tu es certain qu'il en manque.
Ici, remarque n°5.
Hors ligne
#27 Le 08/11/2008, à 17:46
- Ploply
Re : CPU throttling > baisser la fréquence (température?) du CPU
Merci de ton aide
Je n'ai pas encore essayé ton script mais si je touche au throttling ça semble faire sauter la politique du gouverneur. J'ai pas encore eu le temps de me pencher vraiment dessus
Lucid - Gnome
Hors ligne
#28 Le 30/11/2008, à 15:07
- cannard
Re : CPU throttling > baisser la fréquence (température?) du CPU
ok, je viens d'essayer avec gnomebaker qui pompe à fond sur le proco quand il convertit, résultat :
ça marche pas doit y avoir un problème dans ce que j'ai mis, je recopie le script complet
#!/bin/bash
#auto_throttling
#auteur: pnprog AT no-log DOT org
#fichier: auto_throttling.sh
#version 0.1
#ce script est proposé sous licence GPL2 (General Public License)
termal="adm1027-i2c-0-2e"
cpu="CPU1"
max="45"
min="40"
period="10"
function read_temperature
{
temperature=$(sensors | grep "CPU Temp:")
temperature=${temperature:14}
temperature=${temperature%%°C*}
temperature=${temperature%%.*}
echo $temperature
}
throttling="off"
while :
do
temperature=$(read_temperature)
if [ "$throttling" = "off" ] && let "$temperature>$max" ;
then
echo Throttling activé
throttling="on"
echo 4 | tee /proc/acpi/processor/"$cpu"/throttling
fi
if [ "$throttling" = "on" ] && let "$temperature<$min" ;
then
echo Throttling désactivé
throttling="off"
echo 0 | tee /proc/acpi/processor/"$cpu"/throttling
fi
sleep $period
done
pour le lancer dans un terminal je rentre
sudo xfce4-terminal --execute /home/quentin/desktop/auto_throttling.sh
c'est bon, nan ?
Dernière modification par cannard (Le 30/11/2008, à 16:04)
Hors ligne
#29 Le 30/11/2008, à 16:41
- pnprog
Re : CPU throttling > baisser la fréquence (température?) du CPU
c'est bon, nan ?
Ca devrait être bon.
En fonctionnement normal, tu devrais voir Throttling activé ou bien Throttling désactivé apparaitre au gré de l'évolution de la température du processeur.
Est-ce qu'un message d'erreur apparait ?
S'il n'y a pas de message d'erreur, tu peux modifier cette partie du code:
throttling="off"
while :
do
temperature=$(read_temperature)
en la remplaçant par:
throttling="off"
while :
do
temperature=$(read_temperature)
echo $temperature
Ce qui devrait en plus afficher la température lue toute les 10 secondes. Si cette température dépasse 45°c, alors le throttling sera activé.
Edit: quand tu utilises la version modifiée de function read_temperature, les paramètres termal et cpu n'ont plus d'importance, tu peux même supprimer ces deux lignes.
Dernière modification par pnprog (Le 30/11/2008, à 16:44)
Hors ligne
#30 Le 30/11/2008, à 18:46
- cannard
Re : CPU throttling > baisser la fréquence (température?) du CPU
une fois lancé je n'ai aucun message qui apparait
on voit bien en haut à droite que la température a largement dépassé 45 (51) et que rien ne se passe (la fenêtre en haut à gauche est celle dans laquelle est ouvert le prog et celle de droite m'a juste servi à le lancer)
(au passage j'ai hébergé le prog, téléchargement ici)
Dernière modification par cannard (Le 30/11/2008, à 18:49)
Hors ligne
#31 Le 30/11/2008, à 22:19
- pnprog
Re : CPU throttling > baisser la fréquence (température?) du CPU
C'est bizarre.
(oui ça ne t'aide pas que je dise ça)
Lance le tout simplement dans une console. C'est peut-être lié à la façon dont tu le lances avec xfce4-terminal. Car tant que je n'ai pas de message d'erreur, je ne peux pas trop t'aider
Pour être sur qu'il est bien exécutable:
chmod +x /home/quentin/desktop/auto_throttling.sh
Pour le lancer:
/home/quentin/desktop/auto_throttling.sh
Soit dit en passant, je suis surpris de voir que ton dossier de bureau s'appelle "desktop" et non pas "Bureau" ou même "Desktop".
Hors ligne
#32 Le 02/12/2008, à 21:42
- cannard
Re : CPU throttling > baisser la fréquence (température?) du CPU
c'était simplement cette majuscule le problème avec "Desktop" ça marche nickel et pas obligé de lancer dans un autre terminal...
pour l'instant il m'affiche la température toutes les 10 sec, j'essaye de le faire chauffer mais ça m'a l'air bon ce coup-ci
edit : et voilà en fonctionnement :
je vais essayer de voir comment il fonctionne pour le compliquer un peu et qu'il joue sur un maximum de réglage possibles (8 au total) et pourquoi pas le lancer au démarrage en sécurité ! merci beaucoup en tout cas
re-edit : le prog modifié est fait, je reteste et si c'est bon je le mets à la place de l'autre (il est 8 fois plus long par contre )
bridé à 50% de throttling (1,3GHz) sinon il descendait jusque 12% (312MHz) et ça devenait inutilisable
avec un temps d'attente avant de passer à 50%, il fait d'abord 87% (2,3GHz), puis si ça suffit pas (au bout de 10 secondes) 75% (2GHz) et ainsi de suite...
je copies la partie modifiée si ça peut servir à quelqu'un...
throttling="off"
while :
do
temperature=$(read_temperature)
echo $temperature
if [ "$throttling" = "off" ] && let "$temperature>$max" ;
then
echo Throttling 1
throttling="1"
echo 1 | tee /proc/acpi/processor/"$cpu"/throttling
fi
sleep $period
if [ "$throttling" = "1" ] && let "$temperature>$max" ;
then
echo Throttling 2
throttling="2"
echo 2 | tee /proc/acpi/processor/"$cpu"/throttling
fi
sleep $period
rien de sorcier, mais ça baisse les performances progressivement, donc c'est bien mieux
hébergé ici
HS : c'est le genre de script qui doit être intéressant avec un proco overclocké...
Dernière modification par cannard (Le 02/12/2008, à 23:10)
Hors ligne
#33 Le 22/04/2009, à 19:44
- DD78
Re : CPU throttling > baisser la fréquence (température?) du CPU
bonjour, jai essaye de faire un logiciel semblable mais j'ai une question, j'ai deux dossier CPU0 et CPU1, je dois gerer les deux simultanement ou reduire un seul peux suffire? risques d'instabilitée?
merci.
#34 Le 21/05/2009, à 09:06
- cannard
Re : CPU throttling > baisser la fréquence (température?) du CPU
moi aussi il me reconnaît deux processeurs (technologie Hyper Threading présente sur les pentium 4) mais je n'en ai qu'un... en tout cas à part le fait que c'est super lourd quand ça se met à throttler (la fréquence baisse vite, on a l'impression que le PC a 10 ans de plus) je n'ai jamais eu aucun souci de stabilité avec
Hors ligne
#35 Le 23/07/2010, à 05:47
- bzhboy_
Re : CPU throttling > baisser la fréquence (température?) du CPU
J'ai adapté votre script pour une utilisation un petit peu diffèrente : mon ordi se faisant vieux, le ventilateur a parfois du mal à refroidir le processeur. Et lorsque j'utilise le proc à fond, il finit par dépasser la température max (105°C sur ma machine). ça a pour conséquence de forcer l'extinction de l'ordinateur, ce qui peut-être énervant et dommageable. Mon but est donc surtout d'éviter d'atteindre la température max.
Pour cela j'utilise les changements de profil énergétique de cpufreq:
#!/bin/bash
# Script qui évite la surchauffe processeur
#version 0.1
#ce script est proposé sous licence GPL2 (General Public License)
# Température de désactivation du profil "up"
maxup="94"
# Température de réactivation du profil "up"
mindown="85"
# Nom des profils énergétique
#profilup="performance"
profilup="ondemand"
profildown="powersave"
# Délai entre les vérifications en secondes
period="8"
function read_temperature
{
temperature=$(cat /proc/acpi/thermal_zone/THR0/temperature)
# sustitution qui recupere la temperature effective
temperature=$(echo $temperature |sed -e 's/.*\(...\).C.*/\1/g')
echo $temperature
}
# On démarre en utisant le profil le plus performant
powerstate="up"
cpufreq-set -g "$profilup"
while :
do
temperature=$(read_temperature)
if [ "$powerstate" = "up" ] && let "$temperature>$maxup" ;
then
echo "Température trop élevée, passage sur le profil énergétique bas"
powerstate="down"
cpufreq-set -g "$profildown"
fi
if [ "$powerstate" = "down" ] && let "$temperature<$mindown" ;
then
echo "Température suffisament basse, passage sur le profil énergétique haut"
powerstate="up"
cpufreq-set -g "$profilup"
fi
sleep $period
done
A noter que la réactivation du profil "up" à 85°C ne signifie pas que le processeur va forcément rester à une telle température : si le processeur n'est pas trop sollicité, le profil "up"=ondemand va le mettre à sa fréquence basse et la température va continuer à baisser.
Dernière modification par bzhboy_ (Le 23/07/2010, à 05:53)
laptop:Arch linux|Chakra project|KDE SC 4.4
home server:SheevaPlug|plugcomputer.org|Debian
Hors ligne
#36 Le 23/11/2015, à 10:04
- Compte supprimé
Re : CPU throttling > baisser la fréquence (température?) du CPU
Bonjour,
je rouvre ce sujet et je note que sur Ubuntu 14.04 sur PC :
cat /proc/acpi/processor/CPU*/throttling
cat: /proc/acpi/processor/CPU*/throttling: Aucun fichier ou dossier de ce type
Le mode throttle permet effectivement de baisser la température en cas de problèmes, mais je suis presque sûr que dans les cas énumérés sur ce sujet ce n'est pas la solution à long terme, les processeurs sont tous vendus overclokés depuis les années 2000, et c'est pour ça qu'il faut les refroidir.
Toute la technique est de bien le refroidir. La pâte thermique joue un rôle capital, mais y'a-t-il besoin de pâte à 30€ les 2g ? Ne peut-on pas se satisfaire de "graisse silicone" pour transistor, qui a équipé l'électronique depuis 40 ans ?
Moins il y a de graisse, mieux ça refroidit ! Puisque la graisse opère quand même une résistance thermique entre le processeur et le refroidisseur. La graisse n'est là que pour combler les aspérités de granularité si on mettait le radiateur contre le processeur, alors de l'air subsisterait.