¿Por qué mi Raspberry Pi no se acelera?

22

Edité el archivo /boot/config.txt para aumentar la velocidad de la CPU a 800MHz.

dmesg incluye la siguiente línea

bcm2835-cpufreq: Freq 800000->700000 (min=700000 max=800000 target=700000 request=700000)

Efectivamente, mi CPU solo funciona a 700MHz.

¿Por qué mi Raspberry Pi no se acelera?

Estoy ejecutando Occidentalis 0.2.

John Smith
fuente
El modo Turbo solo overclockeará la CPU con una carga del 95%. Sin embargo, puede cambiar ese umbral sin forzar que el Modo Turbo esté activado todo el tiempo. Vea esta pregunta relacionada: raspberrypi.stackexchange.com/q/5477/6516
Enrico Campidoglio

Respuestas:

28

Hubo un cambio en el firmware / kernel recientemente, que permitió el escalado de frecuencia de la CPU del kernel. Ahora, no establece la frecuencia estática de la CPU en config.txt, establece la frecuencia máxima. Si su sistema está en carga, cambiará la frecuencia de la CPU a un valor más alto (se llama turbo mode, puede ver la maxconfiguración en su línea de registro) pero si su sistema está inactivo, reducirá la frecuencia al valor mínimo (por defecto es Valores predeterminados de RaspberryPi: 700MHz para ARM, 250MHz para núcleo, 400MHz para SDRAM). También disminuirá el voltaje si está utilizando configuraciones de sobrevoltaje. Por defecto ondemandse usa el regulador de frecuencia.

Puede cambiar los valores por defecto (se utiliza cuando está en reposo) con arm_freq_min, gpu_freq_min, core_freq_min, sdram_freq_miny over_voltage_minopciones en config.txt. También puede deshabilitar este comportamiento y volver a lo que estaba funcionando antes de que este cambio se introdujera en el firmware force_turbo=1en su archivo config.txt. De esta manera, la escala de frecuencia de la CPU se desactivará.

También hay dos cambios más cuando force_turbo=0(que es el valor predeterminado predeterminado):

  • Las frecuencias h264 / v3d / isp no se escalan, por lo que si desea overclockearlas, también necesita force_turbo=1
  • el valor máximo de sobrevoltaje es 6 (1.35V), en lugar de 8

También tenga en cuenta que puede cambiar parte de la configuración de frecuencia (al menos para ARM) utilizando dinámicamente sysfs. Solo eche un vistazo a:

/sys/devices/system/cpu/cpu0/cpufreq/

Puedes leer sobre este cambio aquí .

Krzysztof Adamski
fuente
Esta es una de las mejores respuestas y realmente demuestra por qué Raspberry Pi.SE es importante.
Alex Chamberlain
1
Vale la pena señalar que la combinación de deshabilitar el Modo Turbo force_turbo=1 y habilitar la sobrevoltaje anulará la garantía .
Enrico Campidoglio
¿Habilitar force_turbo también deshabilita el ajuste dinámico de la frecuencia del reloj por la CPU, ya que descubrí que mi CPU no funciona de manera consistente con lo que configuré para que se ejecute (1GHz) en config.txt, pero a veces se ejecuta a 700MHz después de un tiempo o después del arranque ?
user123456098
4

Agrega force_turbo=1tu config.txt.

Adibek
fuente
8
Hola Adibek, bienvenido a RaspberryPi.SE. Las mejores respuestas aquí generalmente contienen citas, referencias o información de antecedentes. Esto es para ayudar al usuario a comprender su problema, en lugar de solo solucionarlo.
Jivings
Estoy de acuerdo con @Jivings, algunas referencias o información de fondo serían útiles para futuros visitantes que vean esta pregunta.
hifkanotiks
2

para mí fue el gobernador de escala lo que evitó el overclocking. solo lea la respuesta correcta a esta pregunta aquí: ¿Cómo cambiar el gobernador predeterminado?

ahora mi frambuesa se ejecuta en 1150MHz

syss
fuente
1
Un gobernador de escala no evitará el overclocking. Simplemente reducirá la frecuencia del procesador cuando no se esté utilizando. Tan pronto como sea necesario, aumentará la frecuencia. La frecuencia más alta posible se indica en /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq.
Ricitos de oro
2
en mi caso, el gobernador se estableció en "powersave". Tenía 1000MHz como frecuencia de CPU máxima, pero nunca alcancé esta frecuencia como frecuencia actual. después de configurar el gobernador a "ondemand" o "performance" pude obtener frecuencias de CPU más altas
syss
1
Tienes razón, el valor predeterminado es PowerSave. Supongo que es porque sin overclocking, no importa: la frecuencia mínima y la frecuencia máxima son las mismas (700000). En el Pi 2, creo que hay un rango posible (600000 y 900000).
Ricitos de oro