Estoy usando Ubuntu 14.04 (3.13.0-24-kernel genérico) en una computadora portátil basada en AMD A8-4500m, y recientemente me di cuenta de que AMD Turbo Core no funciona en absoluto. Todo funciona en Windows, sin embargo, en la frecuencia de CPU de Linux no puede pasar 1.9 GHz (verificado con cpufreq-aperf
).
Aquí está la salida de cpupower frequency-info
, aviso Activo: sin soporte de estado bajo impulso:
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4.0 us.
hardware limits: 1.40 GHz - 1.90 GHz
available frequency steps: 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.40 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.90 GHz and 1.90 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.90 GHz (asserted by call to hardware).
cpufreq stats: 1.90 GHz:32,63%, 1.80 GHz:0,74%, 1.70 GHz:0,50%, 1.60 GHz:1,20%, 1.40 GHz:64,93% (9287)
boost state support:
Supported: yes
Active: no
Boost States: 2
Total States: 8
Pstate-Pb0: 2800MHz (boost state)
Pstate-Pb1: 2300MHz (boost state)
Pstate-P0: 1900MHz
Pstate-P1: 1800MHz
Pstate-P2: 1700MHz
Pstate-P3: 1600MHz
Pstate-P4: 1400MHz
Pstate-P5: 900MHz
Más pruebas (ejecutadas con el programador ondemand y 3 instancias de decodificación ffmpeg de video 1920x1080 H.264 en segundo plano):
[m132@m132 turbostat]$ sudo cpupower monitor
[sudo] password for m132:
|Mperf || Idle_Stats
CPU | C0 | Cx | Freq || POLL | C1 | C2
0| 97,78| 2,22| 1821|| 0,00| 0,00| 0,00
1| 97,84| 2,16| 1821|| 0,00| 0,00| 0,00
2| 99,22| 0,78| 1807|| 0,00| 0,00| 0,00
3| 99,18| 0,82| 1808|| 0,00| 0,00| 0,00
[m132@m132 turbostat]$ sudo ./turbostat
cor CPU GHz TSC time
1.81 1.90 5**
0 0 1.81 1.90 5**
1 1 1.81 1.90
2 2 1.80 1.90
3 3 1.81 1.90
EDITAR: Parece que los procesadores de la serie Trinity tienen su propio conmutador BAPM en la fuente. Está ubicado en drivers / gpu / drm / radeon / trinity_dpm.c y (en el momento de la escritura) está habilitado solo para placas MSI, debido a problemas de estabilidad. Para habilitarlo, abra este archivo, busque esta línea:
pi->enable_bapm = false;
Cambie falso a verdadero, luego compile e instale un nuevo núcleo. Debería obtener un impulso de kernel panic trabajando ahora. Tenga en cuenta que la potencia de la CPU también se comparte con la GPU, por lo que casi nunca obtendrá la frecuencia más alta disponible si la GPU también está en uso.
fuente
cpufreq-aperf
a veces informa una frecuencia de 2 GHz, pero aún no cambia a 2,3 GHz o 2,8 GHz, como en Windows.nomodeset
en la línea de comando del núcleo)? Esto solucionó este problema para mí.Active: yes
, pero supongo que esta información es incorrecta, porque no se muestran Pstates ycpufreq-aperf
aún no informa una frecuencia superior a 1,9 GHz. También forzó el uso del software OpenGL Render para mí.turbostat
ocpupower monitor
? ¿Muestran que se está usando el turbo?Respuestas:
[Actualización 2015]
A partir de Linux 3.16:
El valor de
bapm
se puede proporcionar como un parámetro de módulo (ver aquí ).El valor de
bapm
se establece en 1 de forma predeterminada para los sistemas Kaveri, Kabini y Trinity de escritorio, Richland (consulte aquí ), lo que hace que Turbo Core esté habilitado.Lo que significa que con Kernel 3.16 o posterior, Turbo Core debería funcionar directamente
radeon
en muchos casos.Si ejecuta Debian, o si ejecuta Ubuntu y lo anterior no es cierto para usted, consulte Cómo configurar un sistema Debian (enfoque en 2D o consola / servidor) con una APU AMD Turbo Core para obtener la máxima eficiencia energética y computacional ?
[Actualización 2014-agosto-07]
Publiqué un análisis detallado sobre el
unix-stackexchange.com
que contiene (al menos para mí) algunas sorpresas. Como que elondemand
gobernador sea potencialmente peor queperformance
(al menos con el Richland A10-6700) yfglrx
aparentemente use algunos trucos cuestionables para mejorar los impulsos a corto plazo, teniendo que compensarlo abruptamente a largo plazo. Me alegro de haber mirado más de cerca esto.[Respuesta original]
Estoy en el proceso de configurar un sistema con un A10-6700 usando Ubuntu 14.04 Server.
cat /proc/cpuinfo
no refleja, y no reflejará, ningún aumento del procesador. El impulso es una decisión autónoma sobre el chip basada en criterios potencialmente complejos. Lee sobre esto aquí .cpufreq-info
no mostrará las frecuencias de impulso disponibles, pero la salida decpupower frequency-info
will. Para el A10-6700, debería mostrar 4300 MHz (Pb0), 4200 MHz (Pb1) y 3900 MHz (Pb2) además de los 3700, 3400, 2700, 2300 y 1800 MHz normales.cpufreq-aperf
(aftermodprobe msr
) es comparable a la salida decpupower monitor
. Se supone que las frecuencias mostradas por estas herramientas reflejan aumentos.radeon
módulo en el kernel, no logré que el A10-6700 usara una frecuencia de refuerzo (usandostress --cpu 2
).fglrx
módulo ATI / AMD cargado en el kernel, el procesador aumentará dos núcleos permanentemente (y aparentemente también los núcleos restantes temporalmente). Esto fue probado sin que X fuera usado o incluso configurado.Recuerde, la decisión a favor o en contra del impulso la toma la APU de manera autónoma. Supongo que en este momento es que la APU no puede decidir si su disipación de energía actual deja espacio para un impulso a menos que la unidad gráfica integrada se inicialice adecuadamente.
La salida de video con el módulo estándar difiere de la salida cuando se carga fglrx. Por lo tanto, solo podemos adivinar si el kernel puede poner la APU en el modo presumiblemente requerido "inteligente" (consciente de la pérdida de energía) por sí mismo, mientras sigue usando el módulo VGA.
Hasta que esto se resuelva, simplemente cargaré
fglrx
. La desventaja es que su construcción requiere muchas cosas que no desea en un servidor y que debe eliminarse después de la compilación.Además,
fglrx
tiene casi 9 MB de tamaño. No es un problema, pero saber que es principalmente carga muerta en este caso no me hace muy feliz.[Editar 2014-Jul-24]
Ahora reporté este error .
Noté que también se ha informado de otro error: si de hecho usa
fglrx
e intenta usar el modo de administración dinámica de energía .fuente
Tengo el mismo problema con mi Thinkpad ejecutando el mismo AMD A8-4500m en Ubuntu 13.10. Encontré esto hoy, pero mi inglés no es tan bueno, así que no lo entendí.
https://www.kernel.org/doc/Documentation/cpu-freq/boost.txt
Que te sea útil.
El comienzo principal que encontré es que Turbo Core no es compatible desde 11.10. Eso es todo lo que encontré. Por favor, demuéstrame que estoy equivocado.
fuente