Ubuntu 13.04 Escala de freqüência da CPU 'preso' na menor frequência

9

Acabei de instalar o Ubuntu 13.04 no meu MacBook Air, depois de brincar por algum tempo, a máquina ficou muito lenta, então verifiquei a frequência da CPU. cpufreq-info, relata 800MHz em todos os 4 núcleos (que é a configuração mais baixa). O governador está definido para ondemand. Agora, quando eu coloco alguma carga no sistema (rodando um pequeno script que carrega coisas quatro vezes), a máquina mexe, mas o cpufreq-info ainda está reportando 800MHz. Eu posso definir manualmente a frequência para 2GHz, o que resolve o problema de desempenho, mas vai me custar minha bateria.

Esta é a saída do cpufreq-info:

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:5,75%, 2.00 GHz:0,47%, 1.90 GHz:0,00%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:93,67%  (1388)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,17%, 2.00 GHz:0,01%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,00%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:96,71%  (1433)
analyzing CPU 2:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:2,69%, 2.00 GHz:0,00%, 1.90 GHz:0,01%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,02%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,02%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:97,16%  (1194)
analyzing CPU 3:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,07%, 2.00 GHz:0,02%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,03%, 1000 MHz:0,03%, 900 MHz:0,01%, 800 MHz:96,77%  (1004)
    
por user159534 17.05.2013 / 13:49

3 respostas

3

Eu tive o mesmo problema na última versão do Mint, definindo o dimensionamento para conservador parece ser o mais próximo de como o ondemand costumava trabalhar.

Então eu descobri qual era o problema, o up_threshold estava muito alto, ele estava configurado para 95% de carga, agora isso é bom para cargas contínuas, mas na maioria dos casos há uma pequena explosão de atividade da CPU, e você quer que a CPU aumente para 100% da velocidade muito mais rapidamente. Eu resolvi isso definindo o up_threshold mais baixo (75 parece estar bem no meu caso). Você altera o valor desejado para /sys/devices/system/cpu/cpufreq/ondemand/up_threshold .

    
por user165241 07.06.2013 / 14:25
2

Sugiro que você use Existe um aplicativo de economia de energia semelhante ao Jupiter?

  

E use o indicador-cpufreq, para que você saiba em qual freq você está. verifique o link que eu colei como instalar / configure indicator-cpufreq

     

Existe uma aplicação de economia de energia semelhante para Júpiter? Seção 3.) Processador e Escala de Frequência

ondemand        Dynamically switch between CPU(s) available if at 95% cpu load

Mantenha a CPU em baixo, exceda apenas se a 95% da carga da CPU

performance     Run the cpu at max frequency

conservative    Dynamically switch between CPU(s) available if at 75% load

Mantenha a CPU em baixo, exceda apenas se a 75% da carga da CPU

powersave       Run the cpu at the minimum frequency
    
por Qasim 17.05.2013 / 14:11
0

Eu tive esse problema em 14.04 - 16.04 (a partir de hoje). Para resolvê-lo eu tive que forçar o Ubuntu a ignorar a limitação da bios. O seguinte funcionou para mim:

Abrir o grub:

sudo vim /etc/default/grub

Substitua a linha GRUB_CMDLINE_LINUX_DEFAULT:

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1"

Atualizar o grub:

sudo update-grub

Reinicie então:

echo 1 | sudo dd of=/sys/module/processor/parameters/ignore_ppc
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq 

Trabalhei para mim. Verifique o número de núcleos de cpu e atualize tudo de acordo. Você pode querer colocar essas linhas extras em /etc/rc.local para que elas sejam executadas em cada inicialização.

Editar ninja: substitua 2900000 acima pelo valor em:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
    
por benvand 22.04.2016 / 14:13