Desativa o daemon de escalonamento de CPU "sob demanda"

13

Eu tenho um servidor que, desde a atualização para o 10.04, agora está executando o daemon de escalonamento de CPU "ondemand". Por que instalaria isso automaticamente? Não quero que meu servidor economize energia em detrimento do desempenho.

    
por A Student at a University 09.09.2010 / 17:49

8 respostas

31

Em vez de desativar a execução do script /etc/init.d/ondemand (como sugerido por George) você deve usar o comando this

sudo update-rc.d ondemand disable

Para fazer com que o sistema init não inicie o script, essa é a maneira reconhecida de fazer isso! Desativar a permissão exec ( sudo chmod -x /etc/init.d/ondemand ) pode ser sobrescrita se o pacote for atualizado.

    
por LassePoulsen 09.09.2010 / 23:58
5

O dimensionamento de frequência não é estático. Assim que há trabalho a ser feito, a CPU entra em ação, os estados P aumentam e tudo voa.

Está ativado porque é visto como uma coisa boa. Economiza energia (boa para sua carteira e para o meio ambiente). Mantém o calor baixo ( tão importante em uma sala de servidores). E é bem imperceptível.

Além disso, em chips Intel modernos, se você tiver escalonamento, você pode usar o "turbo boost", onde um núcleo funcionará em velocidades maiores do que as de estoque por um tempo. Isso é muito útil para picos de trabalho single-threaded. Sem o escalonamento ativado, você não entende isso.

    
por Oli 10.09.2010 / 12:57
2

Você pode instalar a ferramenta deba rcconf :

sudo apt-get install rcconf

então desative o serviço "ondemand" de lá.

    
por Manuel 24.09.2010 / 10:35
2

Defina todas as CPUs para o governador de desempenho:

for GOVERNOR in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; \
do \
    echo "performance" | sudo tee $GOVERNOR; \
done

Todos os administradores suportados pelo kernel do Linux:

  • performance Execute a CPU na frequência máxima.
  • powersave Execute a CPU na frequência mínima.
  • userspace Executa a CPU nas frequências especificadas pelo usuário.
  • ondemand Dimensiona a frequência dinamicamente de acordo com a carga atual. Salta para a frequência mais alta e, em seguida, possivelmente recua à medida que o tempo ocioso aumenta.
  • conservative Escala a frequência dinamicamente de acordo com a carga atual. Escala a frequência mais gradualmente do que sob demanda.
  • schedutil Seleção de frequência da CPU orientada pelo agendador

Veja link

    
por Mrskman 11.04.2017 / 10:28
1

Para fazer com que todas as CPUs sejam executadas com desempenho máximo continuamente em um desktop ou servidor Ubuntu, execute:

sudo chmod -x /etc/init.d/ondemand

no prompt do shell e digite sua senha. Isso desativa o script de shell que faz com que todas as CPUs sejam executadas na velocidade "OnDemand", tornando-as padrão para velocidade máxima (Performance). Você precisará reiniciar para que isso tenha efeito.

Eu só testei isso no Ubuntu Jaunty 9.04, mas deve funcionar e não causar problemas em nenhuma versão do Ubuntu.

Eu acho que os padrões do Ubuntu são estranhos para isso. Um desktop ou servidor deve funcionar a toda velocidade, na minha opinião.

Atenciosamente, George

    
por George Gesslein II 09.09.2010 / 18:32
1

Em alguns sistemas, o governador 'ondemand' infelizmente está quebrado.

Este é o caso de "CPU Intel (R) Core (TM) 2 Quad Q9300 @ 2.50GHz" e kernel 2.6.32-42.

O kernel acha que pode definir a freqüência individualmente para cada CPU, enquanto o hardware na verdade só permite configurar a freqüência em grupos de várias CPUs (por exemplo, CPU 0 e 1 juntos, e CPU 2 e 3 juntos).

Você pode descobrir que o kernel não está ciente disso olhando os arquivos / sys / devices / system / cpu / cpu * / cpufreq / affected_cpus que contêm "0", "1", "2", "3" em vez de "0 1", "0 1", "2 3", "2 3".

O efeito visível dessa falta de correspondência é um processo single-thread que começa a correr a toda velocidade em uma CPU (o governador 'ondemand' reage rapidamente) e depois de aproximadamente 20 segundos (depende dos detalhes da configuração), perde alguns sua velocidade.

A razão é que o SO, com o governador 'ondemand', reaplica periodicamente baixas freqüências nas CPUs ociosas, sem esperar que isso também mude implicitamente a frequência de nossa CPU ocupada. Não é sequer visível quando você olha para / sys / devices / system / cpu / cpu * / cpufreq / * cur_freq ou / proc / cpuinfo, o sistema operacional não está ciente disso!

Portanto, nesses sistemas, a solução é voltar ao regulador simples de 'desempenho'.

PS: No meu caso, rodar as CPUs constantemente em suas freqüências completas não alterou nada em relação ao ruído do ventilador. Eu suponho que quando uma CPU está inativa, uma freqüência menor ou maior não terá muito impacto no uso de energia.

    
por Johan Boulé 10.09.2012 / 02:41
0

Eu tenho um novo processador AMD Athlon II X4 631 (processador Fusion para soquete FM1) e ele não economiza energia alguma (eu olhei com medidor de energia)! Eu não tenho um núcleo turbo, então eu não preciso de configuração de sobreaviso. A maioria dos novos processadores salva o enery sozinho.

Quando o benchmarking, há uma pequena diferença, no intervalo de 1-2%, quando se comparam ondemand e configuração de desempenho.

    
por Don sild 27.12.2011 / 09:27
-1

Isso é antigo, mas como ninguém o mencionou, e por questão de completude, acrescentarei que o argumento de como o processador que roda na velocidade máxima desperdiçará energia, produzirá calor, ruído do ventilador, etc. ERRADO .

Quase todas as CPUs modernas, especialmente as CPUs Desktop / Server, entrarão no modo de hibernação quando ociosas (a corrida do google estará inativa).

Escala de tensão provavelmente economizará mais energia, então em laptops isso pode aumentar o tempo de execução um pouco, mas em desktops e servidores executando o governador de desempenho será bom para a maioria dos usuários 'normais' (que não executam farms de servidores ou similares .).

Eu uso performance gov com meu i7-2600k e a temperatura da CPU é geralmente em torno de 30 C.

    
por Denis 26.05.2013 / 21:31

Tags