Как мне диагностировать внезапное замедление
Выполнение задачи, требующей больших вычислительных ресурсов, на моем компьютере (Tecra W50) в течение более нескольких секунд приводит к тому, что она становится очень медленной. Производительность не возвращается к нормальной после выполнения задачи.
Бег
time python3 -c "for i in range(10000000): pass"
печатает за 0,2 секунды до медленной работы компьютера, но через 2,1 секунды.Перезагрузка решает проблему, пока в следующий раз я не запущу интенсивную задачу.
dmesg
ничего не показывает за последние 2 часаhtop
показывает низкое использование ресурсов, как с точки зрения процессора и оперативной памяти.Недавно я не выполнял dist-upgrade, но установил новое ядро (3.16.0-38-generic)
Как мне подойти к этой проблеме?
РЕДАКТИРОВАТЬ:
Основываясь на проницательном комментарии Харальда, я бросил /proc/cpuinfo
до и после выполнения задачи, требующей большого объема вычислений. Разница довольно показательна:
@@ -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
(это повторяется 8 раз с одинаковыми номерами).
Еще немного данных (взятых, пока все еще работало быстро):
/ $ 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
И вызов датчиков во время выполнения задачи (до замедления) дает следующее:
$ 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)
Через несколько секунд он становится равным 60, и все идет медленнее.
Я сделал несколько более точных моментов времени: маленький скрипт на python выше с одним дополнительным нулем изменяется от
real 0m2.869s
user 0m2.868s
sys 0m0.004s
прежде чем запускать что-нибудь интенсивное
real 0m19.208s
user 0m19.217s
sys 0m0.004s
после нескольких секунд тяжелой работы.
Вот что cpuinfo | grep MHz
говорит во время выполнения быстрого теста:
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
и пока идет медленный тест:
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
Сроки, кажется, не сильно меняются после echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
:
real 0m18.938s
user 0m18.909s
sys 0m0.036s
и они не меняются после echo 100
:
real 0m20.201s
user 0m20.195s
sys 0m0.016s
Проблема не появляется на 3.13.0-37-generic. Выход из sensors
остается прежним, но производительность небольшого теста на питоне остается неизменной до и после теста. Выход из cpuinfo
как следует:
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
что имеет смысл, так как тест является однопоточным. В этом ядре тоже кое-что другое:
$ 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
Я также запечатлел вывод турбостата немного раньше, во время и после вычислительной задачи на intel_pstate
Водитель:
Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt CorWatt GFXWatt - - 9 0,57 4562 0, 05 0,95 0, 05 0,95 0,95 0 0 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 Core CPU Avg_MHz% Busy Bzy_MHz TSC_MHz ГИУ% CPU с1% CPU с3% CPU с6% CPU с7 CoreTmp PkgTmp Уп% рс2 Уп% PC3 Уп% PC6 Уп% 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 6 0,10 3539 2794 32 7, 01 2 4 2113 59,67 3542 2794 32 3,95 0, 07 0, 02 36,29 2 2 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 Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%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 0, 00 0, 00 91 91 0, 00 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 Core CPU Avg_MHz% Busy Bzy_MHz TSC_MHz SMI CPU% c1 Процессор% c3 Процессор% c6 Процессор% 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 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 Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%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 46,17 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 17,47 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 898 2794 43 0,85 Core CPU Avg_MHz% Busy Bzy_MHz TSC_MHz SMI CPU% c1 CPU% c3 CPU% c6 CPU% c7 CoreTmp PkgTmp Pkg% pc2 Pkg% pc3 Pkg% pc6 Pkg% pc7 PkgWatt CorWatt GFXWatt 1.2 2734 0,734 - 2871 - 2871 - 2871 - 2871 - 2871 - 2871 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,176969 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 Ядро Процессор Avg_MHz% Busy Bzy_MHz TSC_MHz SMI CPU% c1 CPU% c3 CPU% c6 CPU% c7 CoreTmp PkgTmp Pkg% pc2 Pkg% pc3 Pkg% pc6 Pkg% pc7 PkgWatt CorWatt GFXWatt - - 2172 98,633 0, 00 0, 00 0, 01 0, 002 0, 012 0 0, 002 2793 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 ядро процессора Avg_MHz% Занято Bzy_MHz TSC_MHz ГИУ% CPU с1% CPU с3% CPU с6% CPU с7 CoreTmp PkgTmp Уп% рс2 Уп% PC3 Уп% PC6 Уп% 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 Core CPU Avg_MHz% Busy Bzy_MHz TSC_MHz SMI CPU% c1 CPU% c3 CPU% c6 CPU% c7 CoreTmp PkgTmp Pkg% pc2 Pkg% pc3 Pkg% pc6 Pkg% pc7 PkgWatt CorWatt GFXWatt - 1626 98,64 16 48 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 Core CPU Avg_MHz% Busy Bzy_MHz TSC_MHz SMI CPU% c1 CPU% c3 CPU% c6 CPU% c7 CoreTmp PkgTmp Pkg% pc2 Pkg% pc3 Pkg% pc6 Pkg% pc7 PkgWatt CorWatt GFXWatt 5 994 0,91 5 99 - 59 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 7 589 99,87 589 2794 9 0,13 Core CPU Avg_MHz% Занято Bzy_MHz TSC_MHz SMI CPU% c1 CPU% c3 CPU% c6 CPU% c7 CoreTmp PkgTmp Pkg% pc2 Pkg% pc3 Pkg% pc6 Pkg% pc7 PkgWatt CorWatt 36W 0 0 0 0 0 6 0 0 6 0 0 6 0 0 6 6 0 0 8 0 8 6 0 0 8 6 8 8 9 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 3 7 398 67,65 589 2794 9 2, 03 Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt CorWatt GFXWatt - - 7 0.11 0.02 094 094 094 094 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 3 3 5 0,89 604 2794 9 0,41 Core CPU Avg_MHz % Busy Bzy_MHz TSC_MHz SMI CPU% 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 0,95 0, 002 96,9,9 0, 00 2,45 0, 03 0, 00 0 0 9 1,49 613 2794 9 0,55 0, 05 0, 00 97,90 55 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 1 2 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 2 2 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 Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%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 1 1 26 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
Некоторая дополнительная информация (после выполнения интенсивной задачи):
10:00:26 / sys / class / thermal $ sudo grep -r. * охлаждающее_устройство0 / тип: процессор охлаждающее_устройство0 / питание / управление: автоматическое охлаждение_устройство0 / питание / асинхронное: отключено охлаждение_устройство0 / питание / runtime_enabled: отключено охлаждение_устройство0 / питание / время_действия_активные_kids:0 охлаждающее_устройство0 / питание / время выполнения_активное_время: 0 grep: охлаждение_обслуживание_обработка_включения_обработка_в_0 / 0 / вход / время_схемы_вкл.схемы: вход / охлаждение_включение_обработка_включение_обработка_в_0 / 0 / выходная ошибка охлаждение_устройства0/power/runtime_status: неподдерживаемое охлаждение_устройство0 / питание / runtime_usage: 0 охлаждение_устройство0/power/runtime_suspended_time: 0 охлаждение_устройство0 / cur_state: 0 охлаждение_устройство0 / макс_стадия: 10 охлаждающее_устройство1 / тип: управление охлаждением / питание1 / питание1 / тип1: охлаждение_системы / управление питанием / охлаждение / питание1 /1: охлаждение_системы / управление питанием / охлаждение / питание / охлаждение / питание1 / охлаждение / питание / охлаждение / устройство питания / охлаждение / устройство управления охлаждением / питание / охлаждение / устройство питания / охлаждение / устройство управления охлаждением / питание1 асинхронное отключение: устройство охлаждения1/power/runtime_enabled: отключено устройство охлаждения_1/power/runtime_active_kids:0 устройство охлаждения /power/runtime_active_time:0 grep: устройство охлаждения_1/power/autosuspend_delay_ms: ошибка ввода / вывода охлаждение_устройства1/power/runtime_suspended_time: 0 охлаждение_устройства1 / cur_state: 0 охлаждение_устройство1/max_state:10 со oling_device2/type: процессор охлаждение_устройство2 / питание / управление: автоматическое охлаждение_устройство2 / питание / асинхронизация: отключено охлаждение_устройство2/power/runtime_enabled: отключено охлаждение_устройство2/power/runtime_active_kids:0 охлаждение_устройство2/power/runtime_active_time:0 grep: охлаждение_устройства2/power/auto_deus2 / вход / отключение ошибка на выходе охлаждение_устройство2/power/runtime_status: неподдерживаемое охлаждение_устройство2/power/runtime_usage:0 охлаждение_устройство2/power/runtime_suspended_time:0 охлаждение_устройство2 / cur_state: 0 охлаждение_устройство2 / макс_стадия: 10 охлаждение_устройство3 / тип: устройство охлаждения процессора / устройство_давления_обогащение_системы / охлаждение / питание3 / устройство3 / питание3 / управление охлаждением / устройство питания 3: отключенное устройство охлаждения / power / runtime_enabled: отключенное устройство охлаждения / power / runtime_active_kids:0 охлаждение_устройства3/power/runtime_active_time:0 grep: охлаждение_устройства3/power/autosuspend_delay_ms: ошибка ввода / вывода охлаждение_устройство3/power/runtime_status_обслуживание / время_пуска_3: охлаждение / неподдерживаемое состояние: охлаждение не поддерживается: не поддерживается / power / runtime_suspended_time: 0 охлаждение_устройства3 / cur_state: 0 охлаждение_устройство3/max_state:10 охлажд. g_device4/type: процессор охлаждение_устройство4 / питание / управление: автоматическое охлаждение_устройство4 / питание / асинхронизация: отключено охлаждение_устройство4/power/runtime_enabled: отключено охлаждение_устройство4/power/runtime_active_kids:0 охлаждение_устройство4/power/runtime_active_time:0 grep: охлаждение_устройства_4/power/autoss ошибка на выходе охлаждение_устройство4/power/runtime_status: неподдерживаемое охлаждение_устройство4/power/runtime_usage:0 охлаждение_устройство4/power/runtime_suspended_time:0 охлаждение_устройство4 / cur_state: 0 охлаждение_устройство4 / макс_стадия: 10 охлаждение_устройство5 / тип: охлаждение_сервиса / питание555 / тип5: управление охлаждением / питание5 / 55: отключенное устройство охлаждения / power / runtime_enabled: отключенное устройство охлаждения5/power/runtime_active_kids:0 охлаждение_устройство5/power/runtime_active_time:0 grep: охлаждение_устройство5/power/autosuspend_delay_ms: ошибка ввода / вывода охлаждение_устройство5 / питание / время выполнения_статус_обслуживания / охлаждение_датчика_обслуживания / охлаждение / отключение_5: не поддерживается / power / runtime_suspended_time: 0 охлаждение_устройства5 / cur_state: 0 охлаждение_устройство5/max_state:10 охлаждение_де Vice6 / тип: процессор охлаждение_устройство6 / питание / управление: автоматическое охлаждение_устройство6 / питание / асинхронное: отключено охлаждение_устройство6 / питание / runtime_enabled: отключено охлаждение_устройство6 / питание / runtime_active_kids:0 охлаждение_устройство6/power/runtime_active_time:0 grep: охлаждение_устройство6 / питание / autosuspend_ вход ошибка на выходе охлаждение_устройство6/power/runtime_status: неподдерживаемое охлаждение_устройство6 / питание / runtime_usage: 0 охлаждение_устройство6/power/runtime_suspended_time: 0 охлаждение_устройство6 / cur_state: 0 охлаждение_устройство6 / макс_стадия: 10 охлаждение_устройство7 / тип: охлаждение_сервиса7 / питание_7: 7: отключенное устройство охлаждения / power / runtime_enabled: отключенное устройство охлаждения7/power/runtime_active_kids:0 охлаждение_устройства7/power/runtime_active_time:0 grep: охлаждение_устройства7/power/autosuspend_delay_ms: ошибка ввода / вывода охлаждение_устройство7 / питание / время выполнения_статус_обслуживания / охлаждение_датчика_обслуживания / охлаждение_7: охлаждение не поддерживается / power / runtime_suspended_time: 0 охлаждение_устройства7 / cur_state: 0 охлаждение_устройство7/max_state:10 охлаждение_устройство 8 / тип:LCD охлаждающее устройство8 / питание / управление: автоматическое охлаждение_устройство8 / питание / асинхронное: отключено охлаждение_устройство8/power/runtime_enabled: отключено охлаждение_устройство8/power/runtime_active_kids:0 охлаждающее устройство8/power/runtime_active_time:0 grep: охлаждение_устройство8/power/autosuspend_delay_ms ошибка на выходе охлаждение_устройство8/power/runtime_status: неподдерживаемое охлаждение_устройство8/power/runtime_usage:0 охлаждение_устройство8/power/runtime_suspended_time:0 охлаждение_устройство8 / cur_state: 0 охлаждение_устройство8 / макс_стадия: 100 охлаждающее_диспетчер9 / тип:intel_powercreevice / power_lade_count_9: отключенное устройство охлаждения / power / runtime_enabled: отключенное устройство охлаждения9/power/runtime_active_kids:0 охлаждающее устройство9/power/runtime_active_time:0 grep: охлаждение_устройство9/power/autosuspend_delay_ms: ошибка ввода / вывода / power / runtime_suspended_time: 0 охлаждающее_устройство9/cur_state:-1 охлаждающее_устройство9/max_state:50 тепловое_зона0 / м ode: включено thermal_zone0/ temp: 83000 thermal_zone0/ тип: acpitz thermal_zone0/power/control: автоматическая therm_zone0/power/async: отключено thermal_zone0/power/runtime_enabled: отключено thermal_zone0/power/runtime_active_kids:0 thermal_zone0/power/runtime_active_time:0 grep: thermal_zone0/ мощность / autosuspend_delay_ms: ошибка ввода / вывода thermal_zone0/ мощность / runtime_status: неподдерживаемый thermal_zone0/ мощность /runtime_usage:0 thermal_zone0/ мощность / runtime_suspended_time: 0 Grep: thermal_zone0/emul_temp: отказано в thermal_zone0/trip_point_0_temp:102000 thermal_zone0/trip_point_0_type: критическое thermal_zone0/policy:step_wise thermal_zone0/passive:0 thermal_zone1/temp:51000 thermal_zone1/ тип:x86_pkg_temp thermal_zone1/ питание / управление: автоматическая therm_zone1/power/ асинхронная: отключено thermal_zone1/power/runtime_enabled: отключено thermal_zone1/power/runtime_active_kids:0 thermal_zone1: 0 /runtime_active_time:0 grep: thermal_zone1/power/autosuspend_delay_ms: ошибка ввода / вывода thermal_zone1/power/runtime_status:unsup перенесенный therm_zone1/power/runtime_usage:0 thermal_zone1/power/runtime_suspended_time:0 grep: thermal_zone1/emul_temp: отказано в разрешении thermal_zone1/trip_point_0_temp:0 thermal_zone1/trip_point_0_type: пассивная термическая_зона1 / trip_point_1_1
И вывод turbostat -d sleep 10
$ sudo ~/dls/turbostat -d sleep 10 turbostat версия 4.7 17 июня 2015 г. - Len Brown CPUID(0): GenuineIntel 13 уровней CPUID; семейство: модель: степпинг 0x6:3c:3 (6:60:3) CPUID(6): APERF, DTS, PTM, EPB RAPL: 5578 сек. Диапазон счетчика в джоулях, при 47 Вт cpu5: MSR_NHM_PLATFORM_INFO: 0x80838f3011c00 8 * 100 = максимальная эффективная частота 800 МГц 28 * 100 = базовая частота 2800 МГц cpu5: MSR_IA32_POWER_CTL: 0x0004005d (C1E-автоматическое продвижение: 024D_BT: 026BD_TUBD: 0DBD_BD: 0BD_RUSB: 0BD_RUSB: 0BD_TUBD: 0BD_DB_LDBDBD: 0BD_TU_BLD): 0x80838f3011c00 = Макс турбо 4 3600 МГц 4 активных ядра 36 * 100 = макс турбо 3600 МГц 3 активных ядра 37 * 100 = макс турбо 2 3700 МГц 2 активных ядра 38 * 100 = макс турбо 1 3800 МГц 1 активных ядра процессор5: 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 (замок =1) cpu5: MSR_TURBO_ACTIVATION_RATIO: 0x00000000 (MAX_NON_TURBO_RATIO=0 блокировка =0) cpu5: MSR_NHM_SNB_PKG_CST_CFG_CTL: 0x1e008405 (UNdemote-С3, UNdemote-C1, demote-C3, demote-C1, заблокирован: pkg-cstate-limit=5: pc7s) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (сбалансированный) RL2, Авто-HWP, PROCHOT,) cpu0: MSR_GFX_PERF_LIMIT_REASONS, 0x00000000 (Active:) (Записано:) cpu0: MSR_RING_PERF_LIMIT_REASONS, 0x0c000000 (Active:) (Записано: PkgPwrL1, PkgPwrL2,) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0,125000 Вт, 0.000061 джоулей, 0, 000977 с.) Cpu0: MSR_PKG_POWER_INFO: 0x00000178 (TDP 47 Вт, RAPL 0–0 Вт, 0, 000000 с.)) cpu0: предел PKG # 2: включено (58.750000 Вт, 0, 002441* сек, зажим отключен) cpu0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (разблокировано) cpu0: ограничение ядра 0, 00, выкл.: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (разблокировано) cpu0: GFX Лимит: деактивируется (0, 000000 Вт, 0, 000977 сек, зажим Disabled) cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x00641000 (100 С) 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: 1-я шир. Bzy_MHz TSC_MHz SMI CPU%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 0, 00,1 0, 00 2,2 93 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 с
Выход из sudo rdmsr -a 0x19a
перед выполнением интенсивного задания:
$ sudo rdmsr -a 0x19a 0 0 0 0 0 0 0 0
После:
$ sudo rdmsr -a 0x19a 1c 1c 1c 1c 1c 1c 1c 1c
Там нет ничего в kern.log
о температуре
2 ответа
Я хотел бы попытаться помочь вам с вашей проблемой.
Я хотел бы, чтобы вы попытались помочь мне лучше понять вашу конкретную проблему.
Условие, когда сравнительно недавний процессор Intel блокируется на частоте около 600 МГц, когда минимальное значение pstate для пакета составляет 800 МГц, наблюдалось много раз. Тем не менее, я знаю только о состоянии, возникающем после возобновления от приостановки до оперативной памяти. Кроме того, условие (около 75% того, что было запрошено, а не блокировка на этой частоте) было (правильно или неправильно) связано с проблемой BIOS, особенно в Dell E6320.
РЕДАКТИРОВАТЬ: Теория: В текущей версии драйвера intel_pstate любое включение термического дросселирования с помощью тактовой модуляции приведет к тому, что заявленная частота ЦП будет заблокирована на очень низкой частоте.
Драйвер acpi-cpufreq не страдает от этой проблемы. Обратите внимание, что предлагаемый набор исправлений для драйвера intel_pstate также не страдает от этой проблемы.
В дополнение к требуемым данным турбостата, дополнительный регистр MSR поможет подтвердить или опровергнуть эту теорию.
Хотели бы вы пройти эти тесты и отредактировать результаты в своем вопросе:
, После замедления. Делай свое time python3 -c "for i in range(10000000): pass"
тестовое задание. Сделать это примерно в 10 или 100 раз дольше, и пока он работает grep MHz /proc/cpuinfo
, Все ли процессоры застряли на частоте около 600 МГц? (в вашей первоначальной публикации мне неясно, была ли частота 600 МГц только потому, что она простаивала или застряла там).
, После новой загрузки и перед любой интенсивной задачей ваш маленький тест выполняется быстрее, чем 0,2 секунды (возможно, использовать в 10 или 100 раз дольше, чтобы извлечь более значимые цифры)? А какие частоты процессора вы получаете? IE был 2800 МГц, который вы перечислили уже около 0,75 х 3800 МГц. или будет ли процессор на самом деле работать на частоте 3800 МГц (в зависимости от активности на других процессорах и от того, включен ли Turbo).
, Чтобы предотвратить блокировку частоты, в драйвер intel_pstate был добавлен патч из серии 4.2RC (кандидат на выпуск). Если в результате теста 1, приведенного выше, частота заблокирована, вы можете попробовать ядро 4.3RC4. Это может не разблокировать в вашем случае, потому что проблема (в отличие от проблемы BIOS) была связана с приостановкой.
, Если в результате теста 1, приведенного выше, частота заблокирована, значит, это разблокирует ее?:
$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
подождите 5 секунд, чтобы убедиться, что каждый процессор переключен. Фактически для незанятого ЦП может потребоваться до 4 секунд для запуска прохода через драйвер intel_pstate.
$ echo "100" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
100
И если он его разблокирует, то останется ли он примерно в 0,75 раза больше, чем должно быть?
Пожалуйста, проверьте настройки BIOS. Однако я не знаю, что вы будете искать.
Пожалуйста, рассмотрите ваш /var/log/kern.log
файл для любых термических сообщений.
Будет полезно предоставить данные о замедлении до и после:
sudo turbostat -d sleep 10
или для более старых версий турбостата это может быть:
sudo turbostat -v sleep 10
Также необходим еще один регистр MSR (требуется один раз для каждой загрузки sudo modprobe msr
первый):
sudo rdmsr -a 0x19a
Также необходим вывод из:
cd /sys/class/thermal
grep -r . *
Возможно, вам придется установить linux-tools
пакет, чтобы получить турбостат, и если эта версия турбостата не достаточно новая, вам может понадобиться sudo modprobe msr
первый.
Судя по вашим тестам, корень проблемы заключается в том, что ваш процессор перегревается и самопроизвольно сокращается, чтобы защитить себя. Тем не менее, кажется, что блокировка в этом состоянии и не восстановить. Мне бы очень хотелось понять, почему, и упомянутые выше тесты турбостата дадут некоторое представление. В частности (я думаю) мы заинтересованы в понимании и расшифровке MSR_IA32_PACKAGE_THERM_STATUS
Линия для разных условий и разных драйверов. Мы также заинтересованы в понимании и декодировании MSR IA32_CLOCK_MODULATION (0x19A).
Судя по вашим тестам, проблема возникает только при использовании драйвера масштабирования частоты intel_pstate, а не драйвера масштабирования частоты acpi cpufreq. Я думал, что драйвер intel_pstate использовался по умолчанию в течение некоторого времени.
Если вы просто хотите продолжить, вы можете отключить использование драйвера для масштабирования частоты intel_pstate. Редактировать файл /etc/default/grub
возможно сначала сделав копию, и добавив intel_pstate=disable
к GRUB_CMDLINE_LINUX_DEFAULT
линия. Вот пример с одного из моих компьютеров:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable net.ifnames=1 biosdevname=0 crashkernel=384M-:128M"
Вам нужно будет выполнить редактирование как sudo, и вам нужно будет запустить sudo update-grub
потом перезагрузите.
Тем не менее, я был бы очень признателен, если бы, если позволят времена, вы продолжали помогать расследовать проблему с драйвером intel_pstate, поскольку ни у одного компьютера, к которому у меня есть доступ, такой проблемы нет.
Если у вас возникли проблемы с пакетом linux-tools, на моем веб-сайте есть турбостат, который должен работать. двойной, двойной, двойной, двойной, точка, точка, смайти, точка ком / ~ Даг / Linux/ Intel_pstate / энергия / турбостат. Он также включен в исходный код ядра, вам просто нужно его скомпилировать.
РЕДАКТИРОВАТЬ: наблюдения из 14 образцов турбостата:
14 образцов турбостатов показывают проблемы, связанные с температурой. Температура холостого хода кажется немного высокой, как и тактовая частота процессора. По-видимому, перед запертым состоянием существует некоторая переменная степень термического дросселирования. Резюме из 14 образцов:
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
BIOS вашей системы использует Clock Modulation как метод защиты от тепловой перегрузки. Несмотря на то, что желательно снизить производительность системы на небольшое количество, 75% от номинального максимума, производительность фактически ограничивается 75% от минимума. Кроме того, похоже, что после включения Clock Modulation оно никогда не сбрасывается. В своем нынешнем виде драйвер масштабирования частоты процессора intel_pstate принципиально несовместим с тактовой модуляцией и всегда сводит целевое состояние к минимальному независимо от фактической нагрузки. Тем не менее, драйвер масштабирования процессора acpi-cpufreq прекрасно работает с тактовой модуляцией и является рекомендуемым драйвером для вас.
Это вся история? Нет. На мой взгляд, в ядре 4.5 драйвер intel_pstate есть некоторые изменения, основанные на идентификаторе процессора, так что некоторые процессоры будут управляться алгоритмами, основанными на нагрузке, которые совместимы с тактовой модуляцией, а некоторые процессоры будут управляться алгоритмами, основанными на производительности., которые не совместимы с модуляцией часов. Ваш процессор ID=0X3C по-прежнему будет зависеть от производительности.