
Ejecutar una tarea particularmente intensiva en mi computadora (Tecra W50) durante más de unos segundos hace que se vuelva muy lenta. El rendimiento no vuelve a la normalidad una vez completada la tarea.
La ejecución
time python3 -c "for i in range(10000000): pass"
imprime 0,2 segundos antes de que la computadora comience a funcionar lenta, pero 2,1 segundos después.Reiniciar soluciona el problema, hasta la próxima vez que ejecute una tarea intensiva.
dmesg
no muestra nada de las últimas 2 horashtop
muestra un bajo uso de recursos, tanto en términos de CPU como de RAM.No realicé una actualización dist recientemente, pero instalé un nuevo kernel (3.16.0-38-generic)
¿Cómo debo abordar este problema?
EDITAR:
Basado en un comentario revelador de Harald, descarté /proc/cpuinfo
antes y después de ejecutar una tarea de computación intensiva. La diferencia es bastante reveladora:
@@ -5,7 +5,7 @@
model name : Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz
stepping : 3
microcode : 0x1c
-cpu MHz : 2800.218
+cpu MHz : 609.218
cache size : 6144 KB
physical id : 0
siblings : 8
(Esto se repite 8 veces con números similares).
Algunos datos más (tomado mientras todo todavía funcionaba rápido):
/ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
intel_pstate
/ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
/ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
3800000
/ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
800000
/ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
Y llamar a los sensores mientras la tarea se está ejecutando (antes de la desaceleración) produce esto:
$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +99.0°C (crit = +102.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +99.0°C (high = +84.0°C, crit = +100.0°C)
Core 0: +97.0°C (high = +84.0°C, crit = +100.0°C)
Core 1: +99.0°C (high = +84.0°C, crit = +100.0°C)
Core 2: +93.0°C (high = +84.0°C, crit = +100.0°C)
Core 3: +86.0°C (high = +84.0°C, crit = +100.0°C)
Unos segundos más tarde baja a 60 y todo es más lento.
Hice algunos tiempos más precisos: el pequeño script de Python de arriba con un cero extra cambia de
real 0m2.869s
user 0m2.868s
sys 0m0.004s
antes de ejecutar cualquier cosa intensiva para
real 0m19.208s
user 0m19.217s
sys 0m0.004s
después de unos segundos de trabajo pesado.
Esto es lo que cpuinfo | grep MHz
dice mientras se ejecuta la prueba rápida:
cpu MHz : 3799.359
cpu MHz : 3800.015
cpu MHz : 3156.453
cpu MHz : 2791.250
cpu MHz : 3623.484
cpu MHz : 3120.687
cpu MHz : 2887.828
cpu MHz : 3129.656
y mientras se ejecuta la prueba lenta:
cpu MHz : 608.015
cpu MHz : 599.921
cpu MHz : 610.531
cpu MHz : 590.406
cpu MHz : 642.906
cpu MHz : 576.515
cpu MHz : 606.484
cpu MHz : 593.468
Los horarios no parecen cambiar demasiado después echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
:
real 0m18.938s
user 0m18.909s
sys 0m0.036s
tampoco cambian después echo 100
:
real 0m20.201s
user 0m20.195s
sys 0m0.016s
El problema no aparece en 3.13.0-37-generic. El resultado de sensors
sigue siendo el anterior, pero el rendimiento de la prueba de Python pequeño no cambia antes y después de la prueba. La salida de cpuinfo
es la siguiente:
cpu MHz : 800.000
cpu MHz : 2801.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
lo cual tiene sentido, ya que la prueba es de un solo subproceso. En ese núcleo, algunas cosas también son diferentes:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
acpi-cpufreq
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
2801000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
800000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
También capturé la salida del turbostato un poco antes, durante y después de una tarea de computación intensiva en el intel_pstate
controlador:
Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 9 0,57 1662 2793 0 0,85 0,01 0,05 98,53 45 48 95,66 0,00 0,00 0,00 2,35 0,06 0,00 0 0 19 1,18 1643 2793 29 0,32 0,00 0,00 98,50 45 48 95,66 0,00 0,00 0,00 2,35 0,06 0,00 0 1 2 0,15 1643 2793 29 1,35 1 2 7 0,45 1476 2793 29 0,85 0,05 0,18 98,47 43 1 3 10 0,59 1654 2793 29 0,71 2 4 8 0,49 1644 2794 29 0,23 0,00 0,00 99,28 43 2 5 3 0,18 1624 2794 29 0,54 3 6 5 0,34 1475 2794 29 1,80 0,00 0,00 97,85 43 3 7 22 1,19 1824 2794 29 0,95 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 2142 60,38 3547 2794 0 4,77 0,07 0,15 34,64 89 89 30,27 0,00 0,00 0,00 36,95 30,53 0,00 0 0 2138 60,55 3530 2794 32 3,22 0,02 0,17 36,03 80 89 30,27 0,00 0,00 0,00 36,95 30,53 0,00 0 1 2153 60,36 3568 2794 32 3,41 1 2 2144 60,46 3547 2794 32 6,65 0,12 0,04 32,73 89 1 3 2127 60,10 3539 2794 32 7,01 2 4 2113 59,67 3542 2794 32 3,95 0,07 0,02 36,29 78 2 5 2160 60,52 3569 2794 32 3,10 3 6 2133 59,95 3558 2794 32 6,13 0,07 0,35 33,49 72 3 7 2163 61,41 3522 2794 32 4,68 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 3548 98,89 3588 2794 0 1,11 0,00 0,00 0,00 91 91 0,00 0,00 0,00 0,00 56,62 47,73 0,00 0 0 3542 98,73 3588 2794 32 1,27 0,00 0,00 0,00 84 91 0,00 0,00 0,00 0,00 56,62 47,73 0,00 0 1 3540 98,67 3588 2794 32 1,33 1 2 3553 99,02 3588 2794 32 0,98 0,00 0,00 0,00 91 1 3 3582 99,84 3588 2794 32 0,16 2 4 3518 98,06 3588 2794 32 1,94 0,00 0,00 0,00 84 2 5 3563 99,31 3588 2794 32 0,69 3 6 3586 99,95 3588 2794 32 0,05 0,00 0,00 0,00 78 3 7 3499 97,53 3588 2794 32 2,47 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 3565 99,30 3590 2794 0 0,70 0,00 0,00 0,00 95 95 0,00 0,00 0,00 0,00 56,53 47,58 0,00 0 0 3570 99,46 3590 2794 27 0,54 0,00 0,00 0,00 89 95 0,00 0,00 0,00 0,00 56,53 47,58 0,00 0 1 3574 99,57 3590 2794 27 0,43 1 2 3589 99,98 3590 2794 27 0,02 0,00 0,00 0,00 95 1 3 3563 99,26 3590 2794 27 0,74 2 4 3519 98,01 3590 2794 27 1,99 0,00 0,00 0,00 87 2 5 3589 99,98 3590 2794 27 0,02 3 6 3558 99,11 3590 2794 27 0,89 0,00 0,00 0,00 80 3 7 3556 99,05 3590 2794 27 0,95 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 2861 98,83 2895 2794 0 1,17 0,00 0,00 0,00 93 93 0,00 0,00 0,00 0,00 46,17 38,07 0,00 0 0 2854 98,57 2896 2794 43 1,43 0,00 0,00 0,00 89 93 0,00 0,00 0,00 0,00 46,17 38,07 0,00 0 1 2854 98,70 2891 2794 43 1,30 1 2 2853 98,57 2895 2794 43 1,43 0,00 0,00 0,00 93 1 3 2892 99,79 2898 2794 43 0,21 2 4 2865 98,92 2896 2794 43 1,08 0,00 0,00 0,00 87 2 5 2821 97,81 2884 2794 43 2,19 3 6 2874 99,17 2898 2794 43 0,83 0,00 0,00 0,00 83 3 7 2873 99,15 2898 2794 43 0,85 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 2834 98,72 2871 2794 0 1,27 0,00 0,00 0,00 97 97 0,00 0,00 0,00 0,00 46,45 38,38 0,00 0 0 2823 98,37 2870 2794 50 1,63 0,00 0,00 0,00 95 97 0,00 0,00 0,00 0,00 46,45 38,38 0,00 0 1 2842 99,00 2871 2794 50 1,00 1 2 2839 98,80 2873 2794 50 1,20 0,00 0,00 0,00 97 1 3 2868 99,72 2876 2794 50 0,28 2 4 2817 98,17 2869 2794 50 1,81 0,01 0,01 0,00 93 2 5 2813 98,16 2866 2794 50 1,82 3 6 2832 98,61 2872 2794 50 1,39 0,00 0,00 0,00 88 3 7 2841 98,95 2871 2794 50 1,05 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 2172 98,67 2202 2793 0 1,33 0,00 0,00 0,00 95 95 0,00 0,00 0,00 0,00 34,06 26,79 0,00 0 0 2171 97,75 2221 2793 60 2,25 0,00 0,00 0,00 93 95 0,00 0,00 0,00 0,00 34,06 26,79 0,00 0 1 2156 98,42 2190 2793 60 1,57 1 2 2175 98,74 2202 2793 60 1,26 0,00 0,00 0,00 95 1 3 2180 99,24 2197 2793 60 0,76 2 4 2173 98,73 2201 2793 60 1,27 0,00 0,00 0,00 93 2 5 2161 98,52 2194 2794 60 1,48 3 6 2181 98,88 2206 2794 60 1,12 0,00 0,00 0,00 87 3 7 2180 99,08 2200 2794 60 0,92 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 2415 98,38 2455 2793 0 1,61 0,00 0,00 0,01 70 70 0,00 0,00 0,00 0,00 38,87 31,59 0,00 0 0 2377 97,24 2444 2793 54 2,73 0,00 0,00 0,03 68 70 0,00 0,00 0,00 0,00 38,87 31,59 0,00 0 1 2392 97,66 2449 2793 54 2,31 1 2 2449 99,32 2466 2793 54 0,68 0,00 0,00 0,00 70 1 3 2418 98,61 2452 2793 54 1,39 2 4 2437 99,00 2462 2793 54 1,00 0,00 0,00 0,00 66 2 5 2393 97,79 2447 2793 54 2,21 3 6 2426 98,58 2461 2793 54 1,42 0,00 0,00 0,00 68 3 7 2430 98,82 2459 2793 54 1,18 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 1626 98,64 1648 2794 0 1,36 0,00 0,00 0,00 66 66 0,00 0,00 0,00 0,00 24,97 18,61 0,00 0 0 1628 98,45 1654 2794 41 1,55 0,00 0,00 0,00 63 66 0,00 0,00 0,00 0,00 24,97 18,61 0,00 0 1 1648 99,49 1656 2794 41 0,51 1 2 1630 98,82 1650 2794 41 1,18 0,00 0,00 0,00 66 1 3 1607 98,05 1639 2794 41 1,95 2 4 1637 98,85 1656 2794 41 1,15 0,00 0,00 0,00 63 2 5 1.638 99,18 1.652 2.794 41 0,82 3 6 1645 99,25 1657 2794 41 0,75 0,00 0,00 0,00 64 3 7 1571 97,01 1620 2794 41 2,99 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 594 99,29 598 2794 0 0,71 0,00 0,00 0,00 63 63 0,00 0,00 0,00 0,00 7,26 2,11 0,00 0 0 600 98,85 607 2794 9 1,15 0,00 0,00 0,00 61 63 0,00 0,00 0,00 0,00 7,26 2,11 0,00 0 1 585 99,28 590 2 794 9 0,72 1 2 604 99,58 607 2794 9 0,42 0,00 0,00 0,00 63 1 3 582 98,72 590 2 794 9 1,28 2 4 605 99,71 607 2794 9 0,29 0,00 0,00 0,00 60 2 5 589 99,86 590 2 794 9 0,14 3 6 598 98,49 607 2794 9 1,51 0,00 0,00 0,00 59 3 7 589 99,87 589 2 794 9 0,13 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 368 61,51 598 2794 0 3,20 0,26 1,62 33,41 58 58 25,93 0,00 0,00 0,00 5,52 1,30 0,00 0 0 369 60,85 607 2794 9 0,78 0,28 2,22 35,86 58 58 25,93 0,00 0,00 0,00 5,52 1,30 0,00 0 1 349 59,17 590 2 794 9 2,46 1 2 365 60,08 607 2794 9 3,01 0,60 0,16 36,15 58 1 3 359 60,87 590 2 794 9 2,21 2 4 376 61,97 607 2794 9 2,48 0,09 4,07 31,40 56 2 5 351 59,60 590 2 794 9 4,84 3 6 376 61,86 607 2794 9 7,83 0,07 0,02 30,23 56 3 7 398 67,65 589 2794 9 2,03 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 7 1,11 603 2794 0 1,28 0,02 0,02 97,57 54 56 91,75 0,00 0,00 0,00 2,43 0,03 0,00 0 0 17 2,77 609 2794 9 0,49 0,05 0,03 96,65 54 56 91,75 0,00 0,00 0,00 2,43 0,03 0,00 0 1 1 0,20 640 2794 9 3,07 1 2 6 0,95 615 2794 9 3,56 0,02 0,03 95,45 54 1 3 20 3,39 585 2794 9 1,11 2 4 1 0,22 659 2794 9 0,31 0,00 0,00 99,47 53 2 5 1 0,21 634 2794 9 0,32 3 6 2 0,29 628 2794 9 1,01 0,00 0,00 98,70 54 3 7 5 0,89 604 2794 9 0,41 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 8 1,38 602 2794 0 1,68 0,02 0,01 96,92 53 55 89,75 0,00 0,00 0,00 2,45 0,03 0,00 0 0 9 1,49 613 2794 9 0,55 0,05 0,00 97,90 53 55 89,75 0,00 0,00 0,00 2,45 0,03 0,00 0 1 1 0,16 650 2794 9 1,89 1 2 13 2,14 609 2794 9 3,66 0,02 0,00 94,19 52 1 3 20 3,42 584 2794 9 2,37 2 4 8 1,30 612 2794 9 0,52 0,00 0,03 98,14 51 2 5 2 0,25 627 2794 9 1,58 3 6 2 0,35 635 2794 9 2,21 0,01 0,00 97,44 52 3 7 11 1,92 597 2794 9 0,64 Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 8 1,26 601 2794 0 1,45 0,02 0,01 97,26 52 54 90,61 0,00 0,00 0,00 2,40 0,03 0,00 0 0 6 0,93 622 2794 9 0,37 0,01 0,00 98,69 52 54 90,61 0,00 0,00 0,00 2,40 0,03 0,00 0 1 1 0,15 653 2794 9 1,16 1 2 8 1,23 611 2794 9 4,54 0,00 0,01 94,21 51 1 3 26 4,41 584 2794 9 1,37 2 4 11 1,76 611 2794 9 0,48 0,03 0,05 97,68 50 2 5 2 0,30 621 2794 9 1,94 3 6 2 0,30 642 2794 9 1,23 0,02 0,00 98,45 50 3 7 6 1,04 602 2794 9 0,50
Alguna información adicional (después de ejecutar una tarea intensiva):
10:00:26 /sys/clase/térmico $ sudo grep -r . * dispositivo_enfriamiento0/tipo:Procesador dispositivo_enfriamiento0/potencia/control:auto Cooling_device0/power/async: deshabilitado Cooling_device0/power/runtime_enabled: deshabilitado dispositivo_enfriamiento0/power/runtime_active_kids:0 dispositivo_enfriamiento0/power/runtime_active_time:0 grep: Cooling_device0/power/autosuspend_delay_ms: error de entrada/salida Cooling_device0/power/runtime_status: no compatible dispositivo_enfriamiento0/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento0/power/runtime_suspended_time:0 dispositivo_enfriamiento0/estado_cur:0 dispositivo_enfriamiento0/estado_max:10 dispositivo_enfriamiento1/tipo:Procesador dispositivo_enfriamiento1/potencia/control:auto dispositivo_enfriamiento1/potencia/async: deshabilitado dispositivo_enfriamiento1/power/runtime_enabled: deshabilitado dispositivo_enfriamiento1/potencia/runtime_active_kids:0 dispositivo_enfriamiento1/power/runtime_active_time:0 grep: Cooling_device1/power/autosuspend_delay_ms: error de entrada/salida dispositivo_enfriamiento1/power/runtime_status:no admitido dispositivo_enfriamiento1/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento1/potencia/tiempo_ejecución_suspendido:0 dispositivo_enfriamiento1/estado_cur:0 dispositivo_enfriamiento1/estado_max:10 dispositivo_enfriamiento2/tipo:Procesador dispositivo_enfriamiento2/potencia/control:auto Cooling_device2/power/async: deshabilitado Cooling_device2/power/runtime_enabled: deshabilitado dispositivo_enfriamiento2/potencia/runtime_active_kids:0 dispositivo_enfriamiento2/power/runtime_active_time:0 grep: Cooling_device2/power/autosuspend_delay_ms: error de entrada/salida Cooling_device2/power/runtime_status: no compatible dispositivo_enfriamiento2/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento2/power/runtime_suspended_time:0 dispositivo_enfriamiento2/estado_cur:0 dispositivo_enfriamiento2/estado_max:10 dispositivo_enfriamiento3/tipo:Procesador dispositivo_enfriamiento3/potencia/control:auto Cooling_device3/power/async: deshabilitado Cooling_device3/power/runtime_enabled: deshabilitado dispositivo_enfriamiento3/power/runtime_active_kids:0 dispositivo_enfriamiento3/power/runtime_active_time:0 grep: Cooling_device3/power/autosuspend_delay_ms: error de entrada/salida Cooling_device3/power/runtime_status: no compatible dispositivo_enfriamiento3/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento3/power/runtime_suspended_time:0 dispositivo_enfriamiento3/estado_cur:0 dispositivo_enfriamiento3/estado_max:10 dispositivo_enfriamiento4/tipo:Procesador dispositivo_enfriamiento4/potencia/control:auto Cooling_device4/power/async: deshabilitado Cooling_device4/power/runtime_enabled: deshabilitado dispositivo_enfriamiento4/power/runtime_active_kids:0 dispositivo_enfriamiento4/power/runtime_active_time:0 grep: Cooling_device4/power/autosuspend_delay_ms: error de entrada/salida Cooling_device4/power/runtime_status: no compatible dispositivo_enfriamiento4/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento4/power/runtime_suspended_time:0 dispositivo_enfriamiento4/estado_cur:0 dispositivo_enfriamiento4/max_state:10 dispositivo_enfriamiento5/tipo:Procesador dispositivo_enfriamiento5/potencia/control:auto Cooling_device5/power/async: deshabilitado Cooling_device5/power/runtime_enabled: deshabilitado dispositivo_enfriamiento5/potencia/runtime_active_kids:0 dispositivo_enfriamiento5/power/runtime_active_time:0 grep: Cooling_device5/power/autosuspend_delay_ms: error de entrada/salida Cooling_device5/power/runtime_status: no compatible dispositivo_enfriamiento5/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento5/power/runtime_suspended_time:0 dispositivo_enfriamiento5/estado_cur:0 dispositivo_enfriamiento5/estado_max:10 dispositivo_enfriamiento6/tipo:Procesador dispositivo_enfriamiento6/potencia/control:auto Cooling_device6/power/async: deshabilitado Cooling_device6/power/runtime_enabled: deshabilitado dispositivo_enfriamiento6/power/runtime_active_kids:0 dispositivo_enfriamiento6/power/runtime_active_time:0 grep: Cooling_device6/power/autosuspend_delay_ms: error de entrada/salida Cooling_device6/power/runtime_status: no compatible dispositivo_enfriamiento6/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento6/power/runtime_suspended_time:0 dispositivo_enfriamiento6/estado_cur:0 dispositivo_enfriamiento6/max_state:10 dispositivo_enfriamiento7/tipo:Procesador dispositivo_enfriamiento7/potencia/control:auto Cooling_device7/power/async: deshabilitado Cooling_device7/power/runtime_enabled: deshabilitado dispositivo_enfriamiento7/power/runtime_active_kids:0 dispositivo_enfriamiento7/power/runtime_active_time:0 grep: Cooling_device7/power/autosuspend_delay_ms: error de entrada/salida Cooling_device7/power/runtime_status: no compatible dispositivo_enfriamiento7/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento7/power/runtime_suspended_time:0 dispositivo_enfriamiento7/estado_cur:0 dispositivo_enfriamiento7/max_state:10 dispositivo_enfriamiento8/tipo:LCD dispositivo_enfriamiento8/potencia/control:auto Cooling_device8/power/async: deshabilitado Cooling_device8/power/runtime_enabled: deshabilitado Cooling_device8/power/runtime_active_kids:0 dispositivo_enfriamiento8/power/runtime_active_time:0 grep: Cooling_device8/power/autosuspend_delay_ms: error de entrada/salida Cooling_device8/power/runtime_status: no compatible dispositivo_enfriamiento8/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento8/power/runtime_suspended_time:0 dispositivo_enfriamiento8/estado_cur:0 dispositivo_enfriamiento8/max_state:100 dispositivo_enfriamiento9/tipo:intel_powerclamp dispositivo_enfriamiento9/potencia/control:auto Cooling_device9/power/async: deshabilitado Cooling_device9/power/runtime_enabled: deshabilitado dispositivo_enfriamiento9/power/runtime_active_kids:0 dispositivo_enfriamiento9/power/runtime_active_time:0 grep: Cooling_device9/power/autosuspend_delay_ms: error de entrada/salida Cooling_device9/power/runtime_status: no compatible dispositivo_enfriamiento9/potencia/uso_tiempo de ejecución:0 dispositivo_enfriamiento9/power/runtime_suspended_time:0 dispositivo_enfriamiento9/estado_cur:-1 dispositivo_enfriamiento9/estado_max:50 zona_térmica0/modo:habilitado zona_térmica0/temp:83000 zona_termal0/tipo:acpitz Thermal_zone0/potencia/control:auto Thermal_zone0/power/async: deshabilitado Thermal_zone0/power/runtime_enabled: deshabilitado Thermal_zone0/power/runtime_active_kids:0 Thermal_zone0/power/runtime_active_time:0 grep: Thermal_zone0/power/autosuspend_delay_ms: error de entrada/salida Thermal_zone0/power/runtime_status: no compatible Thermal_zone0/power/runtime_usage:0 Thermal_zone0/power/runtime_suspended_time:0 grep: Thermal_zone0/emul_temp: Permiso denegado zona_termal0/punto_viaje_0_temp:102000 zona_térmica0/punto_de_viaje_0_tipo:crítico Thermal_zone0/policy:step_wise zona_térmica0/pasivo:0 zona_térmica1/temp:51000 zona_térmica1/tipo:x86_pkg_temp Thermal_zone1/potencia/control:auto Thermal_zone1/power/async: deshabilitado Thermal_zone1/power/runtime_enabled: deshabilitado Thermal_zone1/power/runtime_active_kids:0 Thermal_zone1/power/runtime_active_time:0 grep: Thermal_zone1/power/autosuspend_delay_ms: error de entrada/salida Thermal_zone1/power/runtime_status: no compatible zona_térmica1/potencia/uso_tiempo de ejecución:0 Thermal_zone1/power/runtime_suspended_time:0 grep: Thermal_zone1/emul_temp: Permiso denegado zona_térmica1/punto_viaje_0_temp:0 zona_térmica1/punto_de_viaje_0_tipo:pasivo zona_termal1/punto_viaje_1_temp:0 zona_térmica1/punto_de_viaje_1_tipo:pasivo zona_térmica1/política:paso_sabio
Y la salida deturbostat -d sleep 10
$ sudo ~/dls/turbostat -d dormir 10 versión turbostato 4.7 17 de junio de 2015 - Len Brown CPUID(0): niveles de CPUID Intel genuinos de 13; familia:modelo:paso a paso 0x6:3c:3 (6:60:3) CPUID(6): APERF, DTS, PTM, EPB RAPL: 5578 seg. Rango de contador Joule, a 47 vatios CPU5: MSR_NHM_PLATFORM_INFO: 0x80838f3011c00 8 * 100 = frecuencia de eficiencia máxima de 800 MHz 28 * 100 = frecuencia base de 2800 MHz cpu5: MSR_IA32_POWER_CTL: 0x0004005d (promoción automática C1E: deshabilitada) cpu5: MSR_TURBO_RATIO_LIMIT: 0x24242526 36 * 100 = 3600 MHz máx. turbo 4 núcleos activos 36 * 100 = 3600 MHz máx. turbo 3 núcleos activos 37 * 100 = 3700 MHz máx. turbo 2 núcleos activos 38 * 100 = 3800 MHz máximo turbo 1 núcleos activos cpu5: MSR_CONFIG_TDP_NOMINAL: 0x0000001c (base_ratio=12) CPU5: MSR_CONFIG_TDP_LEVEL_1: 0x00000000 () cpu5: MSR_CONFIG_TDP_LEVEL_2: 0x00000000 () cpu5: MSR_CONFIG_TDP_CONTROL: 0x80000000 (bloqueo = 1) cpu5: MSR_TURBO_ACTIVATION_RATIO: 0x00000000 (MAX_NON_TURBO_RATIO=0 bloqueo=0) cpu5: MSR_NHM_SNB_PKG_CST_CFG_CTL: 0x1e008405 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, bloqueado: pkg-cstate-limit=5: pc7s) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (equilibrado) cpu0: MSR_CORE_PERF_LIMIT_REASONS, 0x38210000 (Activo:) (Registrado: Transiciones, MultiCoreTurbo, PkgPwrL2, Auto-HWP, PROCHOT,) cpu0: MSR_GFX_PERF_LIMIT_REASONS, 0x00000000 (Activo:) (Registrado:) cpu0: MSR_RING_PERF_LIMIT_REASONS, 0x0c000000 (Activo:) (Registrado: PkgPwrL1, PkgPwrL2,) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0,125000 vatios, 0,000061 julios, 0,000977 seg.) cpu0: MSR_PKG_POWER_INFO: 0x00000178 (TDP de 47 W, RAPL 0 - 0 W, 0,000000 seg.) cpu0: MSR_PKG_POWER_LIMIT: 0x4281d600dc8178 (desbloqueado) cpu0: Límite de PKG n.º 1: habilitado (47,000000 vatios, 28,000000 segundos, abrazadera deshabilitada) cpu0: Límite de PKG n.º 2: habilitado (58,750000 vatios, 0,002441* seg., abrazadera deshabilitada) CPU0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (desbloqueado) cpu0: Límite de núcleos: DESactivado (0,000000 vatios, 0,000977 segundos, abrazadera DESactivada) CPU0: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (desbloqueado) cpu0: Límite GFX: DESactivado (0,000000 vatios, 0,000977 segundos, abrazadera DESactivada) cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x00641000 (100 C) CPU0: MSR_IA32_PACKAGE_THERM_STATUS: 0x88310808 (51 C) CPU0: MSR_IA32_THERM_STATUS: 0x88310808 (51 C +/- 1) CPU2: MSR_IA32_THERM_STATUS: 0x88340808 (48 C +/- 1) CPU4: MSR_IA32_THERM_STATUS: 0x88340808 (48 C +/- 1) CPU6: MSR_IA32_THERM_STATUS: 0x88330808 (49 C +/- 1) Núcleo CPU Promedio_MHz %Ocupado Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Paquete%pc2 Paquete%pc3 Paquete%pc6 Paquete%pc7 PaqueteWatt CorWatt GFXWatt - - 4 0,72 612 2794 0 1,10 0,02 0,01 98,16 51 53 93,95 0,00 0,00 0,00 2,26 0,02 0,00 0 0 8 1,23 617 2794 18 1,48 0,03 0,01 97,26 51 53 93,95 0,00 0,00 0,00 2,26 0,02 0,00 0 1 3 0,55 602 2794 18 2,16 1 2 12 1,93 609 2794 18 0,76 0,05 0,02 97,24 49 1 3 5 0,84 598 2794 18 1,85 2 4 2 0,32 637 2794 18 0,87 0,00 0,00 98,81 49 2 5 2 0,26 616 2794 18 0,92 3 6 3 0,42 628 2794 18 0,25 0,00 0,00 99,32 50 3 7 1 0,19 630 2794 18 0,49 10.003772 seg
Salida de sudo rdmsr -a 0x19a
antes de ejecutar una tarea intensiva:
$ sudo rdmsr -a 0x19a 0 0 0 0 0 0 0 0
Después:
$ sudo rdmsr -a 0x19a 1c 1c 1c 1c 1c 1c 1c 1c
No hay nada kern.log
sobre las temperaturas.
Respuesta1
Me gustaría intentar ayudarte con tu problema.
Me gustaría que intentara ayudarme a comprender mejor su problema específico.
La condición en la que un procesador Intel relativamente reciente se bloquea en alrededor de 600 MHz, donde el pstate mínimo para el paquete es 800 MHz, se ha observado muchas veces. Sin embargo, solo soy consciente de la condición que ocurre después de reanudar una suspensión a una embestida. Además, la condición (de aproximadamente el 75% de lo solicitado, no el bloqueo a esa frecuencia) se ha atribuido (correcta o incorrectamente) a un problema de BIOS, particularmente en el Dell E6320.
EDITAR: Teoría: con la versión actual del controlador intel_pstate, cualquier activación de la regulación térmica a través de la modulación del reloj dará como resultado que la frecuencia de la CPU informada se bloquee en una frecuencia muy baja.
El controlador acpi-cpufreq no sufre este problema. Tenga en cuenta que un conjunto de parches propuesto para el controlador intel_pstate tampoco sufre este problema.
Además de los datos deseados del turbostato, un registro MSR adicional ayudará a confirmar o desmentir esta teoría.
¿Estaría dispuesto a realizar estas pruebas y editar los resultados en su pregunta?
. Después de reducir la velocidad. Haz tu time python3 -c "for i in range(10000000): pass"
prueba. Hazlo unas 10 o 100 veces más largo y, mientras esté funcionando, hazlo grep MHz /proc/cpuinfo
. ¿Están todas las CPU atascadas en alrededor de 600MHz? (En su publicación original no me queda claro si los 600 MHz se debían simplemente a que estaban inactivos o si están atascados allí).
. Después de un nuevo arranque, y antes de cualquier tarea intensiva, ¿su pequeña herramienta de prueba se ejecuta más rápido que 0,2 segundos (quizás use 10 o 100 veces más para extraer dígitos más significativos)? ¿Y qué frecuencias de CPU obtienes? IE eran los 2800 MHz que ya mencionaste, aproximadamente 0,75 X 3800 MHz. o la CPU realmente llegará a 3800 MHz (dependiendo de la actividad de otras CPU y si el turbo está habilitado).
. Para evitar el bloqueo de frecuencia, se agregó un parche al controlador intel_pstate a partir de la serie 4.2RC (versión candidata). Si el resultado de la prueba 1 anterior fue que la frecuencia está bloqueada, ¿estaría dispuesto a probar el kernel?4.3RC4. Es posible que no se desbloquee en su caso, porque el problema (a diferencia del problema del BIOS) estaba relacionado con la suspensión.
. Si el resultado de la prueba 1 anterior es que la frecuencia está bloqueada, ¿esto la desbloquea?:
$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
espere 5 segundos para asegurarse de que todas las CPU estén activadas. Una CPU inactiva puede tardar hasta 4 segundos en ejecutar un pase a través del controlador intel_pstate.
$ echo "100" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
100
Y si lo desbloquea, ¿se queda aproximadamente en 0,75 veces lo que debería ser?
Verifique también la configuración de su BIOS. Sin embargo, no sé qué estarías buscando.
Revise también su /var/log/kern.log
archivo para detectar cualquier mensaje relacionado con la temperatura.
Será útil proporcionar el resultado de la desaceleración antes y después de:
sudo turbostat -d sleep 10
o, para versiones anteriores de turbostato, aún podría ser:
sudo turbostat -v sleep 10
También se necesita otro registro MSR ( sudo modprobe msr
primero se necesita uno por arranque):
sudo rdmsr -a 0x19a
También se necesita el resultado de:
cd /sys/class/thermal
grep -r . *
Es posible que necesites instalar el linux-tools
paquete para obtener turbostat, y si esa versión de turbostat no es lo suficientemente nueva, es posible que tengas que hacer una sudo modprobe msr
primero.
Según sus pruebas, la raíz del problema parece ser que su procesador se está sobrecalentando y se está reduciendo por sí solo para protegerse. Sin embargo, parece bloquearse en esta condición y no recuperarse. Me gustaría mucho entender por qué, y las pruebas del turbostato mencionadas anteriormente me darán una idea. En particular (creo) estamos interesados en comprender y decodificar la MSR_IA32_PACKAGE_THERM_STATUS
línea para las diferentes condiciones y diferentes factores. También estamos interesados en comprender y decodificar el IA32_CLOCK_MODULATION MSR (0x19A).
Según sus pruebas, parece que el problema solo está presente con el controlador de escalado de frecuencia intel_pstate y no con el controlador de escalado de frecuencia acpi cpufreq. Pensé que el controlador intel_pstate se usaba de forma predeterminada desde hace algún tiempo.
Si solo desea continuar con las cosas, puede desactivar el uso del controlador de escala de frecuencia intel_pstate. Edite el archivo /etc/default/grub
, quizás haciendo una copia primero, y agréguelo intel_pstate=disable
a la GRUB_CMDLINE_LINUX_DEFAULT
línea. Aquí hay un ejemplo de una de mis computadoras:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable net.ifnames=1 biosdevname=0 crashkernel=384M-:128M"
Tendrás que hacer la edición como sudo y tendrás que ejecutarla sudo update-grub
después y luego reiniciar.
Sin embargo, le agradecería mucho que, cuando los tiempos lo permitan, continuara ayudando a investigar el problema con el controlador intel_pstate, ya que ninguna computadora a la que tengo acceso tiene el problema.
Si tiene problemas con el paquete linux-tools, hay un turbostato en mi sitio web que debería funcionar. doble u doble u doble u punto smythies punto com /~doug/linux/intel_pstate/energy/turbostat. También está incluido en el código fuente del kernel, sólo tendrías que compilarlo.
EDITAR: Observaciones de las 14 muestras de turbostato:
Las 14 muestras de turbostato muestran problemas relacionados con la temperatura. La temperatura inactiva parece un poco alta, al igual que la frecuencia del reloj de la CPU inactiva. Parece haber algún grado variable de estrangulamiento térmico antes del estado bloqueado. Resumen de las 14 muestras:
Sample CPU Avg_MHz %Busy Bzy_MHz TSC_MHz CPU%c7 PkgTmp PkgWatt CorWatt Throttled Comment
1 - 9 0.57 1662 2793 98.53 48 2.35 0.06 no High idle temp and Bzy clock
2 - 2142 60.38 3547 2794 34.64 89 36.95 30.53 no
3 - 3548 98.89 3588 2794 0.00 91 56.62 47.73 no
4 - 3565 99.30 3590 2794 0.00 95 56.53 47.58 no Very high Temp
5 - 2861 98.83 2895 2794 0.00 93 46.17 38.07 yes X 29
6 - 2834 98.72 2871 2794 0.00 97 46.45 38.38 yes X 29
7 - 2172 98.67 2202 2793 0.00 95 34.06 26.79 yes X 22 More Thermal throttling
8 - 2415 98.38 2455 2793 0.01 70 38.87 31.59 yes X 25 Less Thermal throttling
9 - 1626 98.64 1648 2794 0.00 66 24.97 18.61 yes X 16 More Thermel throttling
10 - 594 99.29 598 2794 0.00 63 7.26 2.11 yes X 6 Locked up state
11 - 368 61.51 598 2794 3.41 58 5.52 1.30 yes X 6
12 - 7 1.11 603 2794 7.57 56 2.43 0.03 yes X 6
13 - 8 1.38 602 2794 6.92 55 2.45 0.03 yes X 6
14 - 8 1.26 601 2794 97.26 54 2.40 0.03 yes X 6 High idle temperature
Respuesta2
El BIOS de su sistema utiliza la modulación de reloj como método para protegerse de la sobrecarga térmica. Si bien se quiere reducir el rendimiento del sistema en una pequeña cantidad, el 75% del máximo nominal, en realidad el rendimiento se está restringiendo al 75% del mínimo. Además, parece que una vez que se activa la modulación del reloj, nunca se reinicia. En su forma actual, el controlador de escalado de frecuencia de la CPU intel_pstate es fundamentalmente incompatible con la modulación de reloj y siempre llevará el pstate objetivo al mínimo independientemente de la carga real. Sin embargo, el controlador de escalado de CPU acpi-cpufreq funciona bien con la modulación de reloj y es el controlador recomendado para usted.
¿Es esa toda la historia? No. Creo que a partir del Kernel 4.5, el controlador intel_pstate tiene algunos cambios basados en la identificación de la CPU, de modo que algunos procesadores se controlarán mediante algoritmos basados en la carga, que son compatibles con la modulación del reloj, y algunos procesadores se controlarán mediante algoritmos basados en el rendimiento. , que no son compatibles con la modulación de reloj. Su procesador, ID=0X3C, seguirá basándose en el rendimiento.