web-dev-qa-db-fra.com

Le gouverneur de la CPU change automatiquement à «Performance» sous charge

J'ai un Lenovo T570 avec Xubuntu 18.04 LTS. Mon numéro actuel est que mon pas de vitesse de la CPU est un peu de noix et fait ce qui est de tout ce qu'il pense de son mieux.

Échantillon: Quand j'exécute mon IDE et la charge de la CPU augmente pendant la durée de construction, le gouverneur change automatiquement. J'ai attrapé le moment lors de la compilation de mon projet avec l'appel suivant:

martin@martin-ThinkPad-T570:~$ while cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor; do sleep 1; done
powersave
powersave
performance
performance

cPUFREQ-info me dit ceci:

martin@martin-ThinkPad-T570:~$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.25 GHz.
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.36 GHz.
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.26 GHz.
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.36 GHz.

S'il vous plaît jeter un oeil à

politique actuelle: la fréquence devrait être comprise entre 3,50 GHz et 3,50 GHz. Le gouverneur "Performance" peut décider quelle vitesse d'utilisation

Ensuite, revenir à PowerSave, j'utilise mon petit script:

martin@martin-ThinkPad-T570:~$ cat cpu_freq_save.sh 
#!/bin/bash
Sudo cpufreq-set -g powersave -c 0 --min 400MHz
Sudo cpufreq-set -g powersave -c 1 --min 400MHz
Sudo cpufreq-set -g powersave -c 2 --min 400MHz
Sudo cpufreq-set -g powersave -c 3 --min 400MHz

Qui réinitialise la fréquence min et le gouverneur, mais dès que je compile à nouveau avec mon IDE chaque fois que le gouverneur et la fréquence min changent à nouveau.

Une idée de la façon dont je peux désactiver ce changement automatique?

PS: Si vous avez besoin de plus de détails, dis-moi simplement où les trouver et je leur fournirai

2
WarrenFaith

cpufreqd est un démon de gestion de fréquence installé avec:

Sudo apt install cpufreqd

Un fichier de configuration cpufreqd.conf est utilisé pour changer de fréquences. Il y a deux sections où vous pouvez le voir changer le gouverneur en "performance":

[Profile]
name=hi_boost
minfreq=0%
maxfreq=100%
policy=performance

# full power when AC
[Rule]
name=AC_on
ac=on                   # (on/off)
profile=hi_boost

Il est plus difficile de comprendre quand il change sur "PowerSave" à moins que le chargeur de batterie ne soit débranché.

Depuis le noyau 3.4 ( CPUFREQ est intégré au noyau et chargé automatiquement. Il inclut le démon de gestion de fréquence appelé thermald. En tant que tel, il n'y a pas beaucoup de besoin de cpufreqd plus et il peut être confronté à votre système.

Pour une personnalisation encore plus grande sous tension de la batterie, le package tlp est couramment utilisé ces jours-ci.

2
WinEunuuchs2Unix

J'ai joué avec différentes choses et ai fini par supprimer cpufreqd de mon système et seulement à gauche cpufrequtils installé et flèche, il ne change plus le gouverneur sur charge.

1
WarrenFaith