CPU Turbo boost: modificar el límite de temperatura en 14.04

CPU Turbo boost: modificar el límite de temperatura en 14.04

Instalé kubuntu 14.04 y hay algún problema con la frecuencia turbo de la CPU. He leído mucho sobre esto, pero no encuentro la respuesta correcta.

Hay una CPU i7-3630QM a 2,40 GHz con turbo de 3,20 GHz en mi portátil Lenovo Y580. Si pongo la CPU a plena carga (con renderizado en Blender en 8 subprocesos), la frecuencia salta a alrededor de 3,2 GHz para todos los núcleos, pero después de unos segundos, cuando la temperatura aumenta, la frecuencia disminuye a 2,4 GHz y permanece en ella. durante el renderizado (el ventilador no funciona a máxima velocidad).

Cuando usé ubuntu 12.10, este problema no ocurrió, pero sí en 13.10 y 14.04.

El refrigerador de mi computadora portátil es realmente bueno, por lo que no hay problemas de sobrecalentamiento con el turbo boost de velocidad máxima (la temperatura de la CPU era de 85-90 °C a 3,2 GHz en Ubuntu 12.10), así que quiero usarlo a máxima velocidad. ¿Cómo puedo usar la CPU con turbo boost a una velocidad máxima de 3,2 GHz en ubuntu 14.04 sin este límite (¿de temperatura?)?

(después de discutir con terdon) Creo que el problema es que la frecuencia de la CPU se reduce antes de que el ventilador pueda responder a la alta temperatura. DESPUÉS de que la CPU se redujo de 3,2 GHz a 2,4 GHz, el ventilador gira por un momento, pero como la CPUfreq ya se redujo, genera menos calor, por lo que las rpm del ventilador vuelven a caer. Estaría bien si, después de enfriar la CPU, la frecuencia volviera a subir a 3,2 GHz, pero se mantuviera en 2,4 GHz.

Algunas medidas:

Salida del programa i7z, cuando el render acaba de comenzar:

 Cpu speed from cpuinfo 2394.00Mhz                                                                                                                               
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc                                                                         
Linux's inbuilt cpu_khz code emulated now                                                                                                                       
True Frequency (without accounting Turbo) 2394 MHz                                                                                                              
  CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz                                                                                                    

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]                                                                                       
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                                  
  Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])                                                                                            
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  34x/33x/32x/32x                                                                                      
  Real Current Frequency 3192.01 MHz [99.75 x 32.00] (Max of below)                                                                                             
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp                                                                     
        Core 1 [0]:       3191.98 (32.00x)       100       0       0       0       0    83                                                                      
        Core 2 [2]:       3192.01 (32.00x)      99.8       0       0       0       1    92                                                                      
        Core 3 [4]:       3192.00 (32.00x)       100       0       0       0       0    88                                                                      
        Core 4 [6]:       3192.00 (32.00x)       100       0       0       0       0    76                                                                      
...

Y 5-10 segundos después (también con carga completa):

Cpu speed from cpuinfo 2394.00Mhz                                                                                                                               
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc                                                                         
Linux's inbuilt cpu_khz code emulated now                                                                                                                       
True Frequency (without accounting Turbo) 2394 MHz                                                                                                              
  CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz                                                                                                    

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]                                                                                       
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                                  
  Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])                                                                                            
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  34x/33x/32x/32x                                                                                      
  Real Current Frequency 2462.52 MHz [99.75 x 24.69] (Max of below)                                                                                             
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp                                                                     
        Core 1 [0]:       2394.01 (24.00x)       100       0       0       0       0    65                                                                      
        Core 2 [2]:       2394.00 (24.00x)       100       0       0       0       0    74                                                                      
        Core 3 [4]:       2462.43 (24.69x)       100       0       0       0       0    71                                                                      
        Core 4 [6]:       2462.52 (24.69x)      99.9       0       0       0       0    61        
...

Gracias de antemano por las respuestas.

Respuesta1

¡Eso no es un error, es una característica! Verifique sus temperaturas, la única razón por la que disminuye la velocidad de la CPU es porque se está sobrecalentando. Mire el primer resultado que muestra: ¡tiene uno de sus núcleos funcionando a 92 °C! Para empezar, eso es bastante bueno y probablemente subió aún más antes de que se redujera la velocidad del reloj.

Puedes comprobar la temperatura máxima que tu CPU puede soportar haciendo clic encorrersensors. Por ejemplo, para mi Intel i7:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +77.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +79.0°C  (high = +95.0°C, crit = +105.0°C)

Entonces, en mi máquina, 95,0°C se considera alta y 105°C es la temperatura crítica a la que se apagará la máquina. Puede que sus especificaciones sean un poco diferentes, pero 92,0 °C es definitivamente alto.

Ahora tupoderobliga a tu CPU a mantener la misma velocidad de reloj. Esto está controlado por el gobernador de la CPU. Probablemente lo tengas configurado en ondemand, pero están disponibles las siguientes opciones:

  • Actuaciónmantiene la CPU a la frecuencia más alta posible
  • Ahorro de energíamantiene la CPU a la frecuencia más baja posible
  • Espacio de usuarioexporta la información de frecuencia disponible al nivel de usuario (a través del sistema de archivos /sys) y permite el control del espacio de usuario de la frecuencia de la CPU
  • Bajo demandaescala las frecuencias de la CPU de acuerdo con el uso de la CPU (como lo hacen los demonios de escala de frecuencia del espacio de usuario, pero en el kernel)
  • Conservadoractúa como el ondemand pero aumenta la frecuencia paso a paso

Para cambiar su gobernador, por ejemplo, a "Rendimiento", ejecute esto:

echo "performance" | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Sin embargo, el resultado probable será simplemente que su computadora se apague cuando se alcancen altas temperaturas. También es posible que aún se reduzca, no estoy seguro de cómo se implementan las características de seguridad. En cualquier caso, lo principal es queNo quieres hacer esto porque puede dañar seriamente tu hardware..

Hay muy buenas razones por las que tu computadora no te permite pasar ciertas temperaturas y no quieres arruinar eso. No conozco ninguna forma de desactivar el límite de temperatura y no te lo diría si lo supiera. Hay formas más sencillas, pero desactivar los límites de seguridad de temperatura es sin duda una buena forma de destruir tu computadora.

Respuesta2

Después de una larga búsqueda encuentro la respuesta a mi pregunta en esta página: http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html

Los viejos acpi-cpufreqno pueden controlar bien el turbo, pero intel_pstateel conductor sí thermaldpuede. Lo he habilitado intel_pstatee instalado thermald. Ahora la CPU puede funcionar en modo turbo boost, a 3,2 GHz casi continuamente. Significa alrededor de un 25-30 % de rendimiento adicional durante el renderizado en Blender.

Desafortunadamente, también significa más calor, por lo que la temperatura central de mi CPU oscila entre 90 y 100 °C y, a veces, se acelera. Tredon tenías razón, debería limpiar el ventilador. :)

En la página de Intel, 105 °C es la temperatura máxima de unión de mi CPU; por encima de ella, se activa la aceleración térmica, por lo que no tengo que preocuparme por el sobrecalentamiento de la CPU.

Lamentablemente no encuentro ningún ejemplo útil para configurar y usar thermald, así que dejo las opciones predeterminadas, pero según leí podría ayudar mucho en la refrigeración.

información relacionada