Bloggings

Home

Mise à jour sur la régulation du processeur

2021-05-15

Mise à jour sur la régulation du processeur pour limiter les problèmes de température

Depuis le Arch Linux Wiki:

Le processeur de mon Thinkpad X220 est un Intel i5-2520M (4) @ 3,200GHz, je ne dois donc pas utiliser le module acpi-cpufreq, mais le module intel-pstate intégré.

Note : Le pilote intel_pstate ne prend en charge que deux gouverneurs : powersave et performance. Bien qu'ils partagent le même nom que les gouverneurs génériques, ils ne fonctionnent pas de la même manière que ces derniers. Les deux gouverneurs intel_pstate fournissent une mise à l'échelle dynamique similaire à celle des gouverneurs génériques schedutil ou ondemand. Le gouverneur de performance fourni par intel_pstate devrait donner une meilleure fonctionnalité d'économie d'énergie que l'ancien gouverneur à la demande.

J'ai donc installé cpupower en plus de thermald:

sudo pacman -S cpupower cpupower-gui
sudo systemctl enable cpupower
sudo systemctl start cpupower

J'ai trouvé que mon ordinateur demarre avec pstate=passive. Pour l'activer au demarrage j'ai ajouté

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=active ...

dans /etc/default/grub et lancé sudo update-grub.

J'ai aussi edité /etc/default/cpupower avec:

governor='performance'
max_freq="3.2GHz"

mais je veux que le gouverneur soit "powersave" quand je fonctionne sur batterie, donc j'ai écrit un script qui est lancé par crontab, avec cpupower en setuid root

*/1 * * * * /home/philip/.local/bin/power-adapt > /dev/null 2>&1

Le script:

#!/bin/sh
# mettre le gouverneur en mode powersave s'il est déconnecté du secteur.
ACPI=`acpi -a | cut -d ' ' -f 3`
if [ "$ACPI" == "off-line" ] ; then
   cpupower frequency-set -g powersave;
else
   cpupower frequency-set -g performance ;
fi

Mise à jour

Je n'aimais pas l'idée de sonder toutes les secondes, alors j'ai écrit une règle udev à la place

/etc/udev/rules.d/99-power.rules

ACTION=="change",SUBSYSTEM=="power_supply",RUN+="/usr/bin/bash /home/philip/.local/bin/power-adapt"

Aussi, lorsque on reboot en batterie, le default est "performance", donc j'ai ajouté à .i3/config:

# set the right startup power settings 
exec --no-startup-id ~/.local/bin/power-adapt

 


A minimalist blog by Philip Wittamore