Sto lottando con cpupower
su ArchLinux. Voglio impostare il governatore su ondemand
o anche a conservative
.
Per prima cosa se faccio $ sudo cpupower frequency-info --governors
, ottengo solo performance powersave
.
Quindi cerco moduli disponibili come questo
ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/
…e ottengo
acpi-cpufreq.ko.gz
amd_freq_sensitivity.ko.gz
cpufreq_conservative.ko.gz
cpufreq_powersave.ko.gz
cpufreq_stats.ko.gz
cpufreq_userspace.ko.gz
p4-clockmod.ko.gz
pcc-cpufreq.ko.gz
powernow-k8.ko.gz
speedstep-lib.ko.gz
Quindi, prima di tutto sembra non essere disponibile alcun modulo per "ondemand". Cosa mi manca?
Quindi provo ad abilitare almeno conservativo:
$ sudo modprobe cpufreq_conservative
quindi controllo che il modulo sia effettivamente caricato
$ lsmod | grep cpufreq
e controlla se ora è disponibile
$ sudo cpupower frequency-info --governors
ma sfortunatamente ottengo sempre lo stesso:performance powersave
solo,
e se provo ad abilitare la modalità conservativa
$ sudo cpupower frequency-set -g conservative
Dice che il modulo non è disponibile.
Quindi fondamentalmente ho due domande:
- Cosa devo installare per avere il modulo ondemand
- Come posso abilitarlo?
Risposta accettata:
Supponendo che il tuo governatore sia intel_pstate (predefinito per le CPU Intel Sandy Bridge e Ivy Bridge a partire dal kernel 3.9). Questo problema non è specifico di Arch, ma di tutte le distribuzioni che utilizzano il nuovo driver Intel pstate per la gestione della frequenza/risparmio energetico della CPU. Ridimensionamento della frequenza della CPU di Arch Linux.
Theodore Ts'o ha scritto la sua spiegazione su Google+:
- Intel_pstate può essere disabilitato all'avvio con il kernel arg
intel_pstate=disable
- Il problema con il governatore ondemand è che non conosce le capacità specifiche della CPU
- L'esecuzione di alcune attività con una frequenza più elevata consumerà meno energia rispetto a una frequenza più bassa che richiederebbe più tempo, ad es. cose aritmetiche, ma non valide per tutte le attività, ad es. caricare qualcosa dalla memoria
- Il driver intel_pstate conosce i dettagli di come funziona la CPU e fa un lavoro migliore rispetto alla soluzione ACPI generica
- intel_pstate offre solo due governatori,
powersave
eperformance
. Intel afferma che Intel_pstate "powersave" è più veloce del generico governatore acpi con "prestazioni"
Per tornare al driver ACPI, riavvia e imposta il kernel arg intel_pstate=disable
Quindi esegui modprobe acpi-cpufreq
e dovresti avere a disposizione il governatore ondemand.
Puoi rendere permanenti le modifiche modificando /etc/default/grub
e aggiungendo
GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"
E poi aggiornando grub.cfg
ala grub-mkconfig -o /boot/grub/grub.cfg
Segui le istruzioni per il caricamento del modulo del kernel Arch e aggiungi il acpi-cpufreq
modulo.