Ubuntu 13.04 escalado de frecuencia de CPU 'pegado' en la frecuencia más baja

10

Acabo de instalar Ubuntu 13.04 en mi MacBook Air, después de jugar durante un tiempo, la máquina se sentía muy lenta, así que revisé la frecuencia de la CPU. cpufreq-info, informa 800MHz en los 4 núcleos (que es la configuración más baja). El gobernador está configurado a pedido. Ahora, cuando pongo algo de carga en el sistema (ejecutando un pequeño script que procesa cosas cuatro veces) la máquina se detiene, pero cpufreq-info aún informa 800MHz. Puedo configurar manualmente la frecuencia a 2 GHz, lo que resuelve el problema de rendimiento, pero me costará la batería.

Este es el resultado de 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)
usuario159534
fuente

Respuestas:

4

Tuve el mismo problema en la última versión de Mint, establecer la escala en conservador parecía ser lo más parecido a cómo solía funcionar ondemand.

Luego descubrí cuál era el problema, el umbral ascendente era demasiado alto, estaba configurado en una carga del 95%, ahora esto está bien para cargas continuas, pero en la mayoría de los casos hay una pequeña explosión de actividad de la CPU, y usted quiere la CPU escalar al 100% de velocidad mucho más rápido. Resolví esto estableciendo el umbral de subida más bajo (75 parece funcionar bien en mi caso). Lo cambia haciendo eco del valor deseado a /sys/devices/system/cpu/cpufreq/ondemand/up_threshold.

usuario165241
fuente
2

Te sugiero que utilices ¿Existe una aplicación de ahorro de energía similar a Júpiter?

Y use el indicador-cpufreq, para que sepa en qué frecuencia se encuentra. compruebe el enlace que he pegado cómo instalar / configurar el indicador-cpufreq

¿Existe una aplicación de ahorro de energía similar a Júpiter? Sección 3.) Procesador y escalado de frecuencia

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

Mantenga la CPU a un nivel bajo, solo exceda si tiene una carga de CPU del 95%

performance     Run the cpu at max frequency

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

Mantenga la CPU a un nivel bajo, solo exceda si está al 75% de la carga de la CPU

powersave       Run the cpu at the minimum frequency
Qasim
fuente
0

He tenido este problema el 14.04 - 16.04 (a partir de hoy). Para resolverlo, tuve que obligar a Ubuntu a ignorar la limitación de BIOS. Lo siguiente funcionó para mí:

Comida abierta:

sudo vim /etc/default/grub

Reemplace la línea GRUB_CMDLINE_LINUX_DEFAULT:

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

Actualización de grub:

sudo update-grub

Reiniciar entonces:

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 

Trabajó para mi. Verifique el número de núcleos de CPU y actualícelos todos en consecuencia. Es posible que desee poner esas líneas adicionales en /etc/rc.local para que se ejecuten en cada arranque.

Edición Ninja: Reemplace 2900000 arriba con el valor en:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
benvand
fuente
¿La escala de frecuencia funcionaba bien después de esto, las temperaturas y el rendimiento eran iguales o mejores? ¿Y lees y /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqluego escribes el mismo valor? ¿Por qué? ¿Escribir 1 para ignore_ppccambiar los valores? (PS podría usar teeo simplemente en >lugar de dd)
Xen2050