Configurando o governador da CPU como sob demanda ou conservador

32

Estou lutando com o cpupowerArchLinux. Eu quero definir governador para ondemandou mesmo para conservative.

Primeiro, se eu fizer $ sudo cpupower frequency-info --governors, eu só entendo performance powersave.

Então, eu procuro por módulos disponíveis como este

ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/

... e eu recebo

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

Portanto, antes de tudo, nenhum módulo para "ondemand" parece estar disponível. Do que sinto falta?

Então eu tento ativar pelo menos conservador:

$ sudo modprobe cpufreq_conservative

então eu verifico se o módulo está realmente carregado

$ lsmod | grep cpufreq

e verifique se agora está disponível

$ sudo cpupower frequency-info --governors

mas infelizmente continuo com o mesmo: performance powersavesomente, e se eu tentar habilitar o conservador

$ sudo cpupower frequency-set -g conservative

Diz que o módulo não está disponível.

Então, basicamente, eu tenho duas perguntas:

  1. O que eu preciso instalar para ter o módulo ondemand
  2. Como posso habilitá-lo?
lviggiani
fonte
1
Depende da sua CPU, mas provavelmente é carregado automaticamente. Veja a entrada do Arch Wiki .
jasonwryan
você poderia adicionar a saída de sudo cpupower frequency-infosua pergunta. Solte o --governorspara mostrar detalhes completos.
BSD

Respostas:

36

Supondo que seu governador seja o intel_pstate (padrão para as CPUs Intel Sandy Bridge e Ivy Bridge a partir do kernel 3.9). Esse problema não é específico do Arch, mas todas as distros que usam o novo driver pstate da Intel para gerenciar o gerenciamento de frequência / energia da CPU. Escalonamento de frequência da CPU do Arch Linux .


Theodore Ts'o escreveu sua explicação no Google+ :

  • O intel_pstate pode ser desativado no momento da inicialização com o kernel arg intel_pstate=disable
  • O problema com o governador ondemand é que ele não conhece os recursos específicos da CPU
  • A execução de algumas tarefas com maior frequência consumirá menos energia do que uma frequência mais baixa, levando mais tempo, por exemplo, material aritmético, mas não é verdade para todas as tarefas, por exemplo, carregando algo da memória
  • O driver intel_pstate conhece os detalhes de como a CPU funciona e faz um trabalho melhor do que a solução ACPI genérica
  • intel_pstate oferece apenas dois governadores, powersavee performance. A Intel alega que o intel_pstate "powersave" é mais rápido que o governador acpi genérico com "performance"

Para voltar ao driver ACPI, reinicie e defina o kernel arg. intel_pstate=disable
Em seguida, execute modprobe acpi-cpufreqe você deve ter o governador ondemand disponível.

Você pode tornar as alterações permanentes editando /etc/default/grube adicionando

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

E então atualizando grub.cfgalagrub-mkconfig -o /boot/grub/grub.cfg

Siga as instruções para carregar o módulo do kernel do Arch e adicione o acpi-cpufreqmódulo.

bsd
fonte
Primeiro de tudo, obrigado pela explicação. Está claro agora. Vou ficar com o intel_pstate que agora parece bom para mim. Estou usando o tlp para controlar a economia de energia no meu laptop. Eu o configurei para usar "powersave" no modo de bateria e "desempenho" em ac. Como o "desempenho" executa a CPU em seu freq máximo o tempo todo, você vê algum problema com isso? (CPU ou seja sobreaquecimento ou qualquer outra situação que pode levar a problemas de HW)
lviggiani
Percebo que, em geral, os laptops precisam ser limpos regularmente, parcialmente desmontados para receber ar comprimido e remover a poeira, a sujeira e os pêlos de gatos. Não há necessidade de desempenho 100% do tempo apenas porque alguém está ligado, geralmente um bom plano equilibrado aciona a CPU conforme necessário.
BSD
1
Existe uma diferença entre o governador acpi genérico performancee o intel_pstate performance, certo? O último é mais rápido que o primeiro e o intel_pstate powersave?
tsorn 11/02/19