O Ubuntu está muito lento quando o Intel SpeedStep está ativado (a CPU não é usada em velocidade máxima)

4

Eu tenho um notebook Dell com processador i7 e Ubuntu 14.10. Quando desativo o SpeedStep na minha BIOS, meu computador é muito rápido, mas o ventilador roda com frequência e a bateria fica vazia rapidamente.

Quando eu ativo o SpeedStep, o Ubuntu fica muito lento. Eu tentei mudar o governador para desempenho sem efeito.

Isto é o que cpufreq-info mostra para todos os 7 CPUs:

analyzing CPU 7:
driver: intel_pstate
CPUs which run at the same hardware frequency: 7
CPUs which need to have their frequency coordinated by software: 7
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.70 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 3.70 GHz and 3.70 GHz.
              The governor "performance" may decide which speed to use
              within this range.
current CPU frequency is 1.17 GHz.

Coisa estranha é que a frequência nunca ultrapassa 1,2 GHz. Eu tentei iniciar o firefox ou compilar um grande projeto.

Esta é a saída relacionada à CPU de lshw :

 *-cpu
      description: CPU
      product: Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz
      vendor: Intel Corp.
      physical id: 43
      bus info: cpu@0
      version: Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz
      slot: SOCKET 0
      size: 3581MHz
      capacity: 3581MHz
      width: 64 bits
      clock: 100MHz
      capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cpufreq
      configuration: cores=4 enabledcores=4 threads=8

Eu recebi este problema após a atualização do Ubuntu 14.04 para 14.10.

Então, como fazer com que o Ubuntu 14.10 use minha CPU em velocidade máxima quando necessário?

Atualização: Depois de desativar intel_pstate , todas as CPUs são executadas a 800 MHz, não importa o que eu faça. Controlador de comutação por applet ou linha de comando não tem efeito.

Atualização: Depois de instalar cpufreqd , /var/log/syslog obtém essas mensagens em um loop:

Mar  3 13:00:03 scala cpufreqd: cpufreqd_set_profile     : Couldn't set profile "Performance High" set for cpu0 (2700000-2700000-performance)
Mar  3 13:00:03 scala cpufreqd: cpufreqd_loop            : Cannot set policy, Rule unchanged ("none").

Atualização: cat /sys/devices/system/cpu/cpu*/cpufreq/bios_limit imprime 800000 (800 MHz) para todas as CPUs. De onde vem esse limite? Como aumentar isso?

    
por Witek 27.02.2015 / 08:10

2 respostas

11

Esta resposta se aplica ao motivo recentemente descoberto do BIOS limitando a freqüência do processador.

Por favor, verifique o estado do seu adaptador de energia e sua bateria. Eles estão funcionando normalmente? A bateria está carregando normalmente? O Laptop funciona O.K. somente na bateria?

Normalmente, a bios da Dell força a baixa freqüência da CPU quando algo está errado com a energia e / ou não reconhece mais o adaptador de energia.

Existe uma maneira de contornar a inclusão do / sys / devices / system / cpu / cpu * / cpufreq / bios_limit, mas isso só deve ser feito como último recurso e com claro conhecimento de que o nível mais baixo a proteção está sendo desativada. Então não vamos lá ainda.

    
por Doug Smythies 04.03.2015 / 23:23
2

Para frequência de clock da CPU que governa 14.04, o driver acpi-cpufreq é usado por padrão e 14.10 usa o driver intel_pstate por padrão. Há relatos de problemas semelhantes ao que você está enfrentando.

Como teste, por favor tente voltar para o driver acpi-cpufreq. Salve uma cópia do seu arquivo / etc / default / grub, apenas no caso:

sudo cp /etc/default/grub /etc/default/grub.original

Edite, como sudo, seu arquivo / etc / default / grub e adicione este parâmetro à linha GRUB_CMDLINE_LINUX_DEFAULT:

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

Se já houver outros parâmetros nessa linha, adicione o novo. Exemplo:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable crashkernel=384M-:128M"

Depois de salvar o arquivo, atualize o grub:

sudo update-grub

Reinicie o computador.

Você também pode verificar se tem thermal em execução:

sudo service thermald status

E, se sim, e apenas para um teste rápido, desative-o (observe que você deve monitorar as temperaturas quando o termal estiver desativado):

sudo service thermald stop

Se você obtiver alguma habilidade para a freqüência da CPU aumentar sob carga significativa, então algo provavelmente está errado com seu arquivo /etc/thermald/thermal-conf.xml.

    
por Doug Smythies 02.03.2015 / 21:19