Hello (Debian-fr) world!
(Ceci est le 17.000ème sujet de la section support, j’ai gagné quoi?)
Description du problème: mon PC portable (sous Debian testing et quelques paquets d’unstable) est devenu anormalement lent depuis quelques jours (moins d’une semaine), à cause d’un sous-cadencement du CPU.
Il est équipé d’un processeur Pentium-M à 2GHz, mais celui-ci s’obstine à tourner à 600MHz, ce qui effondre les performances et rend atrocement lent son usage.
Or je suis en train de travailler sur un site avec Joomla, ce qui implique IceWeasel (FireFox), Apache, MySQL, PHP, Joomla et ses modules en parallèle, donc nécessite la pleine puissance du CPU. Ce problème m’a déjà fait perdre deux jours de boulot la semaine dernière… (autrement dit il n’est pas anodin pour moi!)
Je précise qu’était installé depuis plusieurs mois powersaved et que ce dernier gérait correctement le cadencement du CPU, il descendait à 600MHz quand il n’avait rien à faire, mais remontait à 2GHz quand la charge le nécessitait.
Pour l’anecdote, avec juste un IceDove/Thunderbird et un IceWeasel/FireFox ouvert avec 5 onglets sur des pages statiques sans animations, le CPU (à 600Mhz donc) est à 100% et la charge processeur est à environ 2,5!
Je ne sais pas trop ce qui a pu changer au cours de la semaine écoulée, j’ai pensé à deux hypothèses:
[] une mise à jour logicielle (aptitude update; aptitude safe-upgrade…) installant une version boguée de powersaved ou autre composant de la chaîne de gestion du cadencement du CPU, de la température et des batteries…
[] la chaleur ambiante (environ 25 degrés dans le bâtiment) qui ferait dépasser un seuil thermique et déclencherait la réduction du cadencement CPU…
ou une combinaison des deux! (Murphy, quand tu nous tiens…)
Je précise que depuis j’ai désinstallé powersaved et installé à la place cpufreqd, ce qui n’a rien changé, pas plus que l’installation de cpudyn d’ailleurs (les trois étant incompatibles). J’ai une préférence pour powersaved qui fournit la commande powersave…
En particulier, ce qui m’intrigue est la chose suivante:
tuxo:~# cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Veuillez rapportez les erreurs et les bogues à cpufreq@vger.kernel.org, s'il vous plait.
analyse du CPU 0 :
pilote : acpi-cpufreq
CPUs qui doivent changer de fréquences en même temps : 0
limitation matérielle : 600 MHz - 2.00 GHz
plage de fréquence : 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz
régulateurs disponibles : powersave, userspace, conservative, ondemand, performance
tactique actuelle : la fréquence doit être comprise entre 600 MHz et 600 MHz.
Le régulateur "performance" est libre de choisir la vitesse
dans cette plage de fréquences.
la fréquence actuelle de ce CPU est 600 MHz (vérifié par un appel direct du matériel).
des statistique concernant cpufreq:2.00 GHz:1,28%, 1.80 GHz:0,00%, 1.60 GHz:0,76%, 1.40 GHz:0,00%, 1.20 GHz:0,00%, 1000 MHz:0,00%, 800 MHz:0,00%, 600 MHz:97,95% (14)
Commentaires: le PC portable étant branché sur le secteur, la gestion d’énergie est en mode “performance” (plutôt que “powersave” quand il est sur batterie). Jusque là tout va bien.
Par contre ce qui est bizarre, c’est que la “plage” de fréquence est restreinte à la plus basse possible, sans que je sache pourquoi ni ne comprenne quel logiciel la fixe (on dirait que c’est indépendant du gestionnaire cpufreqd ou powersaved). J’ai pensé un moment à la couche de gestion ACPI (acpid), mais rien dans les fichiers de config ne me permet d’en savoir plus.
Et si j’essaye ce qui suit:
[code]tuxo:~# cpufreq-set --max 2Ghz
tuxo:~# cpufreq-set --min 2Ghz
En ajustant les nouveaux paramètres, une erreur est apparue. Les sources
d’erreur typique sont :
- droit d’administration insuffisant (êtes-vous root ?) ;
- le régulateur choisi n’est pas disponible, ou bien n’est pas disponible en
tant que module noyau ; - la tactique n’est pas disponible ;
- vous voulez utiliser l’option -f/–freq, mais le régulateur « userspace »
n’est pas disponible, par exemple parce que le matériel ne le supporte
pas, ou bien n’est tout simplement pas chargé.[/code]
alors cpufreq-info rend le même résultat que ci-dessus.
Commentaires: il est étonnant qu’après avoir fixé la valeur max de la plage de fréquence à 2Ghz, celle-ci apparaisse à nouveau à 600Mhz.
Mais ce qui est encore plus étrange, c’est qu’il n’est même pas possible de fixer la valeur min!
Quelqu’un peut m’expliquer ce qui se passe?
tuxo:~# dpkg -l acpi-support acpi-support-base cpufreqd cpufrequtils hal linux-image-2.6.30-1-686
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais)
||/ Nom Version Description
+++-=========================================-=========================================-==================================================================================================
ii acpi-support 0.123-1 scripts for handling many ACPI events
ii acpi-support-base 0.123-1 scripts for handling base ACPI events such as the power button
ii cpufreqd 2.3.3-4 fully configurable daemon for dynamic frequency and voltage scaling
ii cpufrequtils 005-1 utilities to deal with the cpufreq Linux kernel feature
ii hal 0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer
ii linux-image-2.6.30-1-686 2.6.30-1 Linux 2.6.30 image on PPro/Celeron/PII/PIII/P4
tuxo:~# uname -a
Linux tuxo 2.6.30-1-686 #1 SMP Sun Jun 14 16:11:32 UTC 2009 i686 GNU/Linux