
Executar uma tarefa particularmente intensiva em computação no meu computador (Tecra W50) por mais de alguns segundos faz com que ele fique muito lento. O desempenho não retorna ao normal após a conclusão da tarefa.
A execução
time python3 -c "for i in range(10000000): pass"
de impressões 0,2 segundos antes de o computador começar a ficar lento, mas 2,1 segundos depois.A reinicialização corrige o problema, até a próxima vez que eu executar uma tarefa intensiva.
dmesg
não mostra nada nas últimas 2 horashtop
mostra baixo uso de recursos, tanto em termos de CPU quanto de RAM.Não fiz um dist-upgrade recentemente, mas instalei um novo kernel (3.16.0-38-generic)
Como devo abordar esse problema?
EDITAR:
Com base em um comentário perspicaz de Harald, larguei /proc/cpuinfo
antes e depois de executar uma tarefa com uso intensivo de computação. A diferença é 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
(isso é repetido 8 vezes com números semelhantes).
Mais alguns dados (obtidos enquanto as coisas ainda estavam funcionando 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
E chamar sensores enquanto a tarefa está em execução (antes da desaceleração) produz o seguinte:
$ 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)
Segundos depois, caiu para 60 e tudo ficou mais lento.
Fiz alguns tempos mais precisos: o pequeno script python acima com zero alterações extras de
real 0m2.869s
user 0m2.868s
sys 0m0.004s
antes de executar qualquer coisa intensiva para
real 0m19.208s
user 0m19.217s
sys 0m0.004s
depois de alguns segundos de trabalho pesado.
Aqui está o que cpuinfo | grep MHz
diz enquanto o teste rápido está em execução:
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
e enquanto o teste lento está em execução:
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
Os horários não parecem mudar muito depois de echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
:
real 0m18.938s
user 0m18.909s
sys 0m0.036s
nem eles mudam depois echo 100
:
real 0m20.201s
user 0m20.195s
sys 0m0.016s
O problema não aparece em 3.13.0-37-generic. A saída de sensors
ainda é a acima, mas o desempenho do pequeno teste python permanece inalterado antes e depois do teste. A saída de cpuinfo
é a seguinte:
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
o que faz sentido, já que o teste é de thread único. Nesse kernel, algumas coisas também são 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
Também capturei a saída do turbostato um pouco antes, durante e depois de uma tarefa de computação intensiva no intel_pstate
driver:
Núcleo CPU Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 1638 99,18 1652 2794 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 2794 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 2794 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 2794 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 2794 9 0,13 Núcleo CPU Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 2794 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 2794 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 2794 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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
Algumas informações extras (após executar uma tarefa intensiva):
10:00:26 /sys/class/térmica $ sudo grep -r. * resfriamento_device0/tipo:Processador dispositivo_de_resfriamento0/potência/controle:auto resfriamento_device0/power/async: desativado resfriamento_device0/power/runtime_enabled:desativado resfriamento_device0/power/runtime_active_kids:0 dispositivo_de_resfriamento0/power/runtime_active_time:0 grep:cooling_device0/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device0/power/runtime_status:não suportado resfriamento_device0/power/runtime_usage:0 resfriamento_device0/power/runtime_suspended_time:0 dispositivo_de_resfriamento0/cur_state:0 dispositivo_de_resfriamento0/max_state:10 dispositivo_de_resfriamento1/tipo:Processador dispositivo_de_resfriamento1/potência/controle:auto resfriamento_device1/power/async: desativado resfriamento_device1/power/runtime_enabled:desativado resfriamento_device1/power/runtime_active_kids:0 dispositivo_de_resfriamento1/power/runtime_active_time:0 grep:cooling_device1/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device1/power/runtime_status:não suportado dispositivo_de_resfriamento1/power/runtime_usage:0 dispositivo_de_resfriamento1/power/runtime_suspended_time:0 dispositivo_de_resfriamento1/cur_state:0 dispositivo_de_resfriamento1/max_state:10 resfriamento_device2/tipo:Processador dispositivo_de_resfriamento2/potência/controle:auto resfriamento_device2/power/async: desativado resfriamento_device2/power/runtime_enabled:desativado resfriamento_device2/power/runtime_active_kids:0 dispositivo_de_resfriamento2/power/runtime_active_time:0 grep:cooling_device2/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device2/power/runtime_status:não suportado dispositivo_de_resfriamento2/power/runtime_usage:0 dispositivo_de_resfriamento2/power/runtime_suspended_time:0 dispositivo_de_resfriamento2/cur_state:0 dispositivo_de_resfriamento2/max_state:10 dispositivo_de_resfriamento3/tipo:Processador dispositivo_de_resfriamento3/potência/controle:auto resfriamento_device3/power/async: desativado resfriamento_device3/power/runtime_enabled:desativado resfriamento_device3/power/runtime_active_kids:0 dispositivo_de_resfriamento3/power/runtime_active_time:0 grep:cooling_device3/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device3/power/runtime_status:não suportado dispositivo_de_resfriamento3/power/runtime_usage:0 dispositivo_de_resfriamento3/power/runtime_suspended_time:0 dispositivo_de_resfriamento3/cur_state:0 dispositivo_de_resfriamento3/max_state:10 dispositivo_de_resfriamento4/tipo:Processador dispositivo_de_resfriamento4/potência/controle:auto resfriamento_device4/power/async: desativado resfriamento_device4/power/runtime_enabled:desativado resfriamento_device4/power/runtime_active_kids:0 dispositivo_de_resfriamento4/power/runtime_active_time:0 grep:cooling_device4/power/autosuspend_delay_ms: Erro de entrada/saída resfriamento_device4/power/runtime_status:não suportado dispositivo_de_resfriamento4/power/runtime_usage:0 dispositivo_de_resfriamento4/power/runtime_suspended_time:0 dispositivo_de_resfriamento4/cur_state:0 dispositivo_de_resfriamento4/max_state:10 dispositivo_de_resfriamento5/tipo:Processador dispositivo_de_resfriamento5/potência/controle:auto resfriamento_device5/power/async: desativado resfriamento_device5/power/runtime_enabled:desativado resfriamento_device5/power/runtime_active_kids:0 dispositivo_de_resfriamento5/power/runtime_active_time:0 grep:cooling_device5/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device5/power/runtime_status:não suportado dispositivo_de_resfriamento5/power/runtime_usage:0 dispositivo_de_resfriamento5/power/runtime_suspended_time:0 dispositivo_de_resfriamento5/cur_state:0 dispositivo_de_resfriamento5/max_state:10 resfriamento_device6/tipo:Processador dispositivo_de_resfriamento6/potência/controle:auto resfriamento_device6/power/async: desativado resfriamento_device6/power/runtime_enabled:desativado resfriamento_device6/power/runtime_active_kids:0 dispositivo_de_resfriamento6/power/runtime_active_time:0 grep:cooling_device6/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device6/power/runtime_status:não suportado resfriamento_device6/power/runtime_usage:0 resfriamento_device6/power/runtime_suspended_time:0 dispositivo_de_resfriamento6/cur_state:0 dispositivo_de_resfriamento6/max_state:10 resfriamento_device7/tipo:Processador dispositivo_de_resfriamento7/potência/controle:auto resfriamento_device7/power/async: desativado resfriamento_device7/power/runtime_enabled:desativado resfriamento_device7/power/runtime_active_kids:0 dispositivo_de_resfriamento7/power/runtime_active_time:0 grep:cooling_device7/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device7/power/runtime_status:não suportado resfriamento_device7/power/runtime_usage:0 resfriamento_device7/power/runtime_suspended_time:0 dispositivo_de_resfriamento7/cur_state:0 dispositivo_de_resfriamento7/max_state:10 dispositivo_de_resfriamento8/tipo:LCD dispositivo_de_resfriamento8/potência/controle:auto resfriamento_device8/power/async: desativado resfriamento_device8/power/runtime_enabled:desativado resfriamento_device8/power/runtime_active_kids:0 dispositivo_de_resfriamento8/power/runtime_active_time:0 grep:cooling_device8/power/autosuspend_delay_ms: erro de entrada/saída resfriamento_device8/power/runtime_status:não suportado resfriamento_device8/power/runtime_usage:0 resfriamento_device8/power/runtime_suspended_time:0 dispositivo_de_resfriamento8/cur_state:0 dispositivo_de_resfriamento8/max_state:100 resfriamento_device9/tipo:intel_powerclamp dispositivo_de_resfriamento9/potência/controle:auto resfriamento_device9/power/async: desativado resfriamento_device9/power/runtime_enabled:desativado resfriamento_device9/power/runtime_active_kids:0 dispositivo_de_resfriamento9/power/runtime_active_time:0 grep:cooling_device9/power/autosuspend_delay_ms: Erro de entrada/saída resfriamento_device9/power/runtime_status:não suportado resfriamento_device9/power/runtime_usage:0 resfriamento_device9/power/runtime_suspended_time:0 dispositivo_de_resfriamento9/cur_state:-1 dispositivo_de_resfriamento9/max_state:50 zona_térmica0/modo: ativado zona_térmica0/temp:83000 zona_térmica0/tipo:acpitz zona_térmica0/potência/controle:auto Thermal_zone0/power/async: desativado Thermal_zone0/power/runtime_enabled:desabilitado zona_térmica0/power/runtime_active_kids:0 zona_térmica0/power/runtime_active_time:0 grep: Thermal_zone0/power/autosuspend_delay_ms: erro de entrada/saída Thermal_zone0/power/runtime_status:não suportado zona_térmica0/power/runtime_usage:0 zona_térmica0/power/runtime_suspended_time:0 grep: Thermal_zone0/emul_temp: Permissão negada zona_térmica0/ponto_de_viagem_0_temp:102000 zona_térmica0/ponto_de_viagem_0_type:crítico zona_térmica0/política:step_wise zona_térmica0/passivo:0 zona_térmica1/temp:51000 zona_térmica1/tipo:x86_pkg_temp zona_térmica1/potência/controle:auto Thermal_zone1/power/async: desativado Thermal_zone1/power/runtime_enabled:desabilitado zona_térmica1/power/runtime_active_kids:0 zona_térmica1/power/runtime_active_time:0 grep: Thermal_zone1/power/autosuspend_delay_ms: erro de entrada/saída Thermal_zone1/power/runtime_status:não suportado zona_térmica1/power/runtime_usage:0 zona_térmica1/power/runtime_suspended_time:0 grep: Thermal_zone1/emul_temp: Permissão negada zona_térmica1/ponto_de_viagem_0_temp:0 zona_térmica1/ponto_de_viagem_0_type:passivo zona_térmica1/ponto_de_viagem_1_temp:0 zona_térmica1/ponto_de_viagem_1_tipo:passivo zona_térmica1/política:step_wise
E a saída deturbostat -d sleep 10
$ sudo ~/dls/turbostat -d dormir 10 turbostato versão 4.7 17 de junho de 2015 - Len Brown CPUID(0): Níveis de CPUID GenuínoIntel 13; família:modelo:pisando 0x6:3c:3 (6:60:3) CPUID(6): APERF, DTS, PTM, EPB RAPL: 5578 seg. Alcance do contador Joule, a 47 Watts CPU5: MSR_NHM_PLATFORM_INFO: 0x80838f3011c00 8*100 = frequência de eficiência máxima de 800 MHz 28 * 100 = frequência base de 2.800 MHz cpu5: MSR_IA32_POWER_CTL: 0x0004005d (promoção automática C1E: DESativada) CPU5: MSR_TURBO_RATIO_LIMIT: 0x24242526 36 * 100 = 3600 MHz máximo turbo 4 núcleos ativos 36 * 100 = 3600 MHz máximo turbo 3 núcleos ativos 37 * 100 = 3700 MHz máximo turbo 2 núcleos ativos 38 * 100 = 3800 MHz máximo turbo 1 núcleos ativos cpu5: MSR_CONFIG_TDP_NOMINAL: 0x0000001c (proporção_base = 12) CPU5: MSR_CONFIG_TDP_LEVEL_1: 0x00000000 () CPU5: MSR_CONFIG_TDP_LEVEL_2: 0x00000000 () cpu5: MSR_CONFIG_TDP_CONTROL: 0x80000000 (bloqueio = 1) cpu5: MSR_TURBO_ACTIVATION_RATIO: 0x00000000 (MAX_NON_TURBO_RATIO=0 bloqueio=0) cpu5: MSR_NHM_SNB_PKG_CST_CFG_CTL: 0x1e008405 (UNdemote-C3, UNdemote-C1, rebaixamento-C3, rebaixamento-C1, bloqueado: pkg-cstate-limit=5: pc7s) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanceado) cpu0: MSR_CORE_PERF_LIMIT_REASONS, 0x38210000 (Ativo:) (Registrado: Transições, MultiCoreTurbo, PkgPwrL2, Auto-HWP, PROCHOT,) cpu0: MSR_GFX_PERF_LIMIT_REASONS, 0x00000000 (Ativo:) (Registrado:) cpu0: MSR_RING_PERF_LIMIT_REASONS, 0x0c000000 (Ativo:) (Registrado: PkgPwrL1, PkgPwrL2,) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0,125000 Watts, 0,000061 Joules, 0,000977 seg.) cpu0: MSR_PKG_POWER_INFO: 0x00000178 (47 W TDP, RAPL 0 - 0 W, 0,000000 seg.) cpu0: MSR_PKG_POWER_LIMIT: 0x4281d600dc8178 (desbloqueado) cpu0: Limite PKG nº 1: Habilitado (47,000000 Watts, 28,000000 seg, grampo DESabilitado) cpu0: Limite PKG nº 2: Habilitado (58,750000 Watts, 0,002441* seg, grampo DESabilitado) cpu0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (desbloqueado) cpu0: Limite de núcleos: DESativado (0,000000 Watts, 0,000977 seg., clamp DESativado) cpu0: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (desbloqueado) cpu0: Limite GFX: DESativado (0,000000 Watts, 0,000977 seg, grampo DESativado) 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 Média_MHz% Ocupado Bzy_MHz TSC_MHz CPU SMI%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt 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 segundos
Saída sudo rdmsr -a 0x19a
antes de executar a tarefa intensiva:
$ sudo rdmsr -a 0x19a 0 0 0 0 0 0 0 0
Depois:
$ sudo rdmsr -a 0x19a 1c 1c 1c 1c 1c 1c 1c 1c
Não há nada kern.log
sobre temperaturas
Responder1
Gostaria de tentar ajudá-lo com seu problema.
Gostaria que você tentasse me ajudar a entender melhor seu problema específico.
A condição em que um processador Intel relativamente recente trava em torno de 600 MHz, onde o pstate mínimo para o pacote é 800 MHz, foi observada muitas vezes. No entanto, só estou ciente da condição que ocorre após a retomada da suspensão para o aríete. Além disso, a condição (de cerca de 75% do que foi solicitado, não o bloqueio nessa frequência) foi (correta ou incorretamente) atribuída a um problema de BIOS, especialmente no Dell E6320.
EDIT: Teoria: Com a versão atual do driver intel_pstate, qualquer envolvimento de aceleração térmica via modulação de clock resultará no bloqueio da frequência relatada da CPU em alguma frequência muito baixa.
O driver acpi-cpufreq não sofre desse problema. Observe que um conjunto de patches proposto para o driver intel_pstate também não sofre desse problema.
Além dos dados desejados do turbostato, um registro MSR adicional ajudará a confirmar ou negar esta teoria.
Você estaria disposto a fazer esses testes e editar os resultados em sua pergunta:
. Depois de desacelerar. Faça seu time python3 -c "for i in range(10000000): pass"
teste. Faça cerca de 10 ou 100 vezes mais tempo e, enquanto estiver em execução, faça grep MHz /proc/cpuinfo
. Todas as CPUs estão presas em torno de 600 MHz? (na sua postagem original não está claro, para mim, se os 600 MHz foram apenas porque estavam ociosos ou se estão presos lá.)
. Após uma nova inicialização e antes de qualquer tarefa intensiva, seu pequeno teste é executado mais rápido que 0,2 segundos (talvez use 10 ou 100 vezes mais para extrair dígitos mais significativos)? E quais frequências de CPU você obtém? IE eram os 2.800 MHz que você já listou, cerca de 0,75 X 3.800 MHz. ou a CPU realmente irá para 3800 MHz (dependendo da atividade em outras CPUs e se o turbo estiver ativado).
. Para evitar o bloqueio de frequência, um patch foi adicionado ao driver intel_pstate a partir da série 4.2RC (release candidate). Se o resultado do teste 1 acima for que a frequência está bloqueada, você estaria disposto a tentar o kernel4.3RC4. Pode não ser desbloqueado no seu caso, porque o problema (diferente do problema do BIOS) estava relacionado à suspensão.
. Se o resultado do teste 1 acima for que a frequência está bloqueada, isso a desbloqueia?:
$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
aguarde 5 segundos para garantir que cada CPU esteja alternada. Pode levar até 4 segundos para que uma CPU ociosa execute uma passagem pelo driver intel_pstate.
$ echo "100" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
100
E se for desbloqueado, ele permanece cerca de 0,75 vezes o que deveria ser?
Verifique também as configurações do BIOS. No entanto, não sei o que você estaria procurando.
Por favor, revise também seu /var/log/kern.log
arquivo para quaisquer mensagens relacionadas a questões térmicas.
Será útil fornecer o resultado antes e depois da desaceleração de:
sudo turbostat -d sleep 10
ou, para versões mais antigas do turbostato, ainda pode ser:
sudo turbostat -v sleep 10
Também é necessário outro registro MSR (precisa sudo modprobe msr
primeiro de uma vez por inicialização):
sudo rdmsr -a 0x19a
Também é necessária a saída de:
cd /sys/class/thermal
grep -r . *
Pode ser necessário instalar o linux-tools
pacote para obter o turbostat e, se essa versão do turbostat não for nova o suficiente, talvez seja necessário fazer um sudo modprobe msr
primeiro.
Pelos seus testes, o problema raiz parece ser que o processador está superaquecendo e diminuindo a escala sozinho para se proteger. No entanto, parece travar nesta condição e não se recuperar. Eu gostaria muito de entender o porquê, e os testes do turbostato mencionados acima fornecerão algumas dicas. Em particular (eu acho) estamos interessados em compreender e decodificar a MSR_IA32_PACKAGE_THERM_STATUS
linha para as diferentes condições e diferentes condutores. Também estamos interessados em compreender e decodificar o MSR IA32_CLOCK_MODULATION (0x19A).
A partir dos seus testes, parece que o problema está presente apenas com o driver de escalonamento de frequência intel_pstate e não com o driver de escalonamento de frequência acpi cpufreq. Eu pensei que o driver intel_pstate já era usado por padrão há algum tempo.
Se você quiser apenas continuar, você pode desabilitar o uso do driver de escalonamento de frequência intel_pstate. Edite o arquivo /etc/default/grub
, talvez fazendo uma cópia primeiro, e adicione intel_pstate=disable
à GRUB_CMDLINE_LINUX_DEFAULT
linha. Aqui está um exemplo de um dos meus computadores:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable net.ifnames=1 biosdevname=0 crashkernel=384M-:128M"
Você terá que fazer a edição como sudo e sudo update-grub
depois executar e reinicializar.
No entanto, ficaria muito grato se, quando o tempo permitir, você continuasse a ajudar a investigar o problema com o driver intel_pstate, já que nenhum computador ao qual tenho acesso apresenta o problema.
Se você estiver tendo problemas com o pacote linux-tools, existe um turbostato no meu site que deve funcionar. duplo você duplo você duplo você ponto smythies ponto com /~doug/linux/intel_pstate/energy/turbostat. Ele também está incluído no código-fonte do kernel, bastando compilá-lo.
EDIT: Observações das 14 amostras do turbostato:
As 14 amostras do turbostato mostram problemas térmicos. A temperatura ociosa parece um pouco alta, assim como a frequência do clock ocioso da CPU. Parece haver algum grau variável de estrangulamento térmico antes do estado bloqueado. Resumo das 14 amostras:
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
Responder2
O BIOS do seu sistema está usando a modulação do relógio como um método para se proteger contra sobrecarga térmica. Embora se pretenda reduzir o desempenho do sistema num pequeno montante, 75% do máximo nominal, o desempenho está, na verdade, a ser restringido a 75% do mínimo. Além disso, parece que, uma vez ativada a modulação do relógio, ela nunca é reiniciada. Em sua forma atual, o driver de escalonamento de frequência da CPU intel_pstate é fundamentalmente incompatível com a modulação de clock e sempre levará o pstate alvo ao mínimo, independentemente da carga real. No entanto, o driver de escalonamento de CPU acpi-cpufreq funciona bem com Clock Modulation e é o driver recomendado para você.
Essa é a história toda? Não. A partir do Kernel 4.5, eu acho, o driver intel_pstate tem algumas mudanças baseadas no ID da CPU, de modo que alguns processadores serão controlados por algoritmos baseados em carga, que são compatíveis com modulação de clock, e alguns processadores serão controlados por algoritmos baseados em desempenho. , que não são compatíveis com modulação de relógio. Seu processador, ID=0X3C, ainda será baseado no desempenho.