web-dev-qa-db-fra.com

ne peut pas contrôler les fréquences cpu en 19.10 sur 7390 xps 13 2-en-1

Je n'ai pas pu contrôler les fréquences du processeur en utilisant soit tlp, soit cpupower, soit d'autres outils. La version du noyau est 5.3.0-19-générique.

J'ai essayé d'utiliser intel_pstate actif ou de désactiver intel pstate avec 'intel_pstate = disabled' comme paramètre de démarrage du noyau, ce qui fait alors acpi-cpufreq le pilote. Quoi qu'il en soit, rien ne contrôlait les fréquences du processeur.

Remarque: j'ai dû désactiver "Secure-Boot" dans le BIOS pour permettre de changer la politique de perf avec x86_energy_perf_policy. Quoi qu'il en soit, cela n'a pas fonctionné.

Voici le comportement:

(1) En utilisant le pilote intel_pstate avec la "performance" de la politique, les fréquences du processeur planent près de 1,3 GHz maximum (environ 1,25 GHz). En utilisant la politique "powersave", les fréquences du processeur oscillent près de 1,1 GHz, ou n'ont peut-être pas changé du tout. Essayer de définir quoi que ce soit avec cpupower ou les paramètres tlp n'a rien fait.

(2) en utilisant le pilote acpi-cpufreq, aucun paramètre avec aucun des outils (utilisés séparément) n'avait d'importance.

Je me suis assuré que les outils n'étaient pas en conflit en les utilisant un à la fois, tout en supprimant les autres du système.

Fonctionnement du système: les fréquences du processeur s'ajustent comme si elles étaient toujours contrôlées par le gouverneur "à la demande". Mais peu importe, je ne peux pas définir la politique de performance ou le gouverneur ou d'autres paramètres pour maintenir le processeur en dessous de n'importe quelle fréquence - ils augmentent quand ils le souhaitent.

J'ai parcouru Google pendant deux semaines maintenant en regardant tout ce qui concerne mes problèmes et j'ai essayé beaucoup de suggestions, mais rien n'a fonctionné. Avec tous les outils (tlp, cpupower, cpufreqd, cpurequtils, etc.), le cpus sera contrôlé par défaut par le gouverneur 'ondemand'. (Le système appelle le script/lib/systemd/set-cpufreq qui définit cela.) Je peux changer cela, bien sûr, mais cela ne semble pas avoir d'importance.

Toute aide est grandement appréciée.

2
Eric M.

J'ai trouvé la solution. Tout d'abord, désactivez pas intel_pstate. Ensuite, définissez les valeurs par défaut de tlp comme vous le souhaitez.

Ensuite, désactivez temporairement le "démarrage sécurisé" dans le BIOS. Cela est nécessaire pour que la commande suivante fonctionne.

Problème (j'ai 8 cpus, d'où le 0-7)

$ x86_energy_perf_policy -c 0-7 --hwp-max 1

Cela définit une sorte de paramètre de fréquence maximale matérielle (? Firmware) au niveau le plus bas de sorte que la fréquence de processeur maximale peut être modifiée par cpupower pour correspondre à la fréquence de processeur la plus basse. (--hwp-min 1 définira le paramètre de fréquence min s'il ne l'est pas déjà. Mais vous ne devriez pas avoir besoin de le faire.)

Vous pouvez maintenant réactiver le "démarrage sécurisé" dans le BIOS.

Puis émettez

$ cpupower -c toutes les fréquences définies -u 800Mhz -g powersave

avec la vitesse que vous aimez et cela devrait fonctionner. Jusqu'à présent, les choses fonctionnent pour moi. La suspension/réveil ne perturbe pas les paramètres de fréquence du processeur. Les réglages AC et BATT dans tlp sont honorés comme ils devraient l'être.

Remarques: La puissance la plus basse que j'ai pu atteindre est d'environ 3,5 watts lorsque le système est inactif. Si vous pouvez obtenir votre 7390 plus bas, veuillez poster!

2
Eric M.

cpuf - Interface graphique Bash simple pour définir la fréquence minimale/maximale du processeur

Vous pouvez utiliser ceci GUI ou simple script Bash pour étrangler le CPU? pour remplacer les fréquences:

Manifestation

Dans cette démo, la fenêtre cpuf est à gauche et les informations système conky sont à droite. Voici comment progresse la démo:

  • La démo démarre alors que la vidéo YouTube est déjà en cours d'exécution
  • Les fréquences par défaut min/max du processeur sont 800/3500
  • Remplacez le processeur min/max par 800/800 et l'utilisation du processeur passe à 20%
  • Remplacez le processeur min/max par 3500/3500 et l'utilisation du processeur tombe à 10%
  • La démo revient en boucle et recommence

cpuf-demo.gif

0
WinEunuuchs2Unix