突然の速度低下を診断するにはどうすればいいですか

突然の速度低下を診断するにはどうすればいいですか

私のコンピューター (Tecra W50) で特に計算負荷の高いタスクを数秒以上実行すると、コンピューターが非常に遅くなります。タスクが完了した後もパフォーマンスは正常に戻りません。

  • 実行するtime python3 -c "for i in range(10000000): pass"と、コンピューターが遅くなり始める 0.2 秒前に印刷されますが、遅くなり始めた後は 2.1 秒になります。

  • 再起動すると、次に負荷の高いタスクを実行するまで、問題は解決します。

  • dmesg過去2時間以内に何も表示されません

  • htopCPU と RAM の両方の点でリソース使用量が低いことがわかります。

  • 最近はdist-upgradeはしていませんが、新しいカーネル(3.16.0-38-generic)をインストールしました。

この問題にはどのように対処すればよいでしょうか?

編集:

Harald の洞察力に富んだコメントに基づいて、/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スクリプトにゼロを1つ追加すると、

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上記のとおりですが、小さな Python テストのパフォーマンスはテストの前後で変化しません。 の出力は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 

また、ドライバー上で計算負荷の高いタスクを実行する前、実行中、実行後の turbostat の出力もキャプチャしましたintel_pstate

コア 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 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
コア 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
   - - 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
コア 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 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
コア 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
   - - 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
コア 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 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
コア 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
   - - 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
コア 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
   - - 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
コア 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
   - - 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
コア 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 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
コア 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
   - - 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
コア 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
   - - 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
コア 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 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
コア 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 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
コア 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 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

追加情報(集中的なタスクを実行した後):

10:00:26 /sys/クラス/サーマル
$ sudo grep -r . *
cooling_device0/タイプ:プロセッサ
cooling_device0/電源/制御:自動
cooling_device0/電源/非同期:無効
cooling_device0/電源/ランタイム有効:無効
冷却デバイス0/電源/ランタイムアクティブキッズ:0
冷却デバイス0/電源/実行時アクティブ時間:0
grep: cooling_device0/power/autosuspend_delay_ms: 入出力エラー
cooling_device0/電源/ランタイムステータス:サポートされていません
冷却デバイス0/電力/ランタイム使用量:0
冷却デバイス0/電源/ランタイム中断時間:0
冷却装置0/現在の​​状態:0
冷却デバイス0/最大状態:10
cooling_device1/タイプ:プロセッサ
冷却装置1/電源/制御:自動
cooling_device1/電源/非同期:無効
cooling_device1/電源/ランタイム有効:無効
冷却デバイス1/電源/ランタイムアクティブキッズ:0
冷却デバイス1/電源/実行時アクティブ時間:0
grep: cooling_device1/power/autosuspend_delay_ms: 入出力エラー
cooling_device1/電源/ランタイムステータス:サポートされていません
冷却デバイス1/電力/ランタイム使用量:0
冷却デバイス1/電源/ランタイム中断時間:0
冷却装置1/現在の状態:0
冷却装置1/最大状態:10
cooling_device2/タイプ:プロセッサ
冷却装置2/電源/制御:自動
cooling_device2/電源/非同期:無効
cooling_device2/電源/ランタイム有効:無効
冷却デバイス2/電源/ランタイムアクティブキッズ:0
冷却デバイス2/電源/実行時アクティブ時間:0
grep: cooling_device2/power/autosuspend_delay_ms: 入出力エラー
cooling_device2/power/runtime_status:サポートされていません
冷却デバイス2/電力/ランタイム使用量:0
冷却デバイス2/電源/ランタイム中断時間:0
冷却装置2/現在の状態:0
冷却装置2/最大状態:10
cooling_device3/タイプ:プロセッサ
冷却デバイス3/電源/制御:自動
cooling_device3/電源/非同期:無効
cooling_device3/電源/ランタイム有効:無効
冷却デバイス3/電源/ランタイムアクティブキッズ:0
冷却デバイス3/電源/実行時アクティブ時間:0
grep: cooling_device3/power/autosuspend_delay_ms: 入出力エラー
cooling_device3/power/runtime_status:サポートされていません
冷却デバイス3/電力/ランタイム使用量:0
冷却デバイス3/電源/ランタイム中断時間:0
冷却装置3/現在の状態:0
冷却装置3/最大状態:10
cooling_device4/タイプ:プロセッサ
冷却装置4/電源/制御:自動
cooling_device4/電源/非同期:無効
cooling_device4/電源/ランタイム有効:無効
冷却デバイス4/電源/ランタイムアクティブキッズ:0
冷却デバイス4/電源/実行時アクティブ時間:0
grep: cooling_device4/power/autosuspend_delay_ms: 入出力エラー
cooling_device4/power/runtime_status:サポートされていません
冷却装置4/電力/ランタイム使用量:0
冷却デバイス4/電源/ランタイム中断時間:0
冷却装置4/現在の状態:0
冷却装置4/最大状態:10
cooling_device5/タイプ:プロセッサ
冷却装置5/電源/制御:自動
cooling_device5/電源/非同期:無効
cooling_device5/電源/ランタイム有効:無効
冷却デバイス5/電源/ランタイムアクティブキッズ:0
冷却デバイス5/電源/実行時アクティブ時間:0
grep: cooling_device5/power/autosuspend_delay_ms: 入出力エラー
cooling_device5/power/runtime_status:サポートされていません
冷却デバイス5/電力/ランタイム使用量:0
冷却デバイス5/電源/ランタイム中断時間:0
冷却装置5/現在の状態:0
冷却装置5/最大状態:10
cooling_device6/タイプ:プロセッサ
冷却装置6/電源/制御:自動
cooling_device6/電源/非同期:無効
cooling_device6/電源/ランタイム有効:無効
冷却デバイス6/電源/ランタイムアクティブキッズ:0
冷却デバイス6/電源/実行時アクティブ時間:0
grep: cooling_device6/power/autosuspend_delay_ms: 入出力エラー
cooling_device6/power/runtime_status:サポートされていません
冷却装置6/電力/ランタイム使用量:0
冷却デバイス6/電源/ランタイム中断時間:0
冷却装置6/現在の状態:0
冷却装置6/最大状態:10
cooling_device7/タイプ:プロセッサ
冷却装置7/電源/制御:自動
cooling_device7/電源/非同期:無効
cooling_device7/電源/ランタイム有効:無効
冷却デバイス7/電源/ランタイムアクティブキッズ:0
冷却デバイス7/電源/実行時アクティブ時間:0
grep: cooling_device7/power/autosuspend_delay_ms: 入出力エラー
cooling_device7/power/runtime_status:サポートされていません
冷却デバイス7/電力/ランタイム使用量:0
冷却デバイス7/電源/ランタイム中断時間:0
冷却装置7/現在の状態:0
冷却装置7/最大状態:10
冷却装置8/タイプ:LCD
冷却装置8/電源/制御:自動
cooling_device8/電源/非同期:無効
cooling_device8/電源/ランタイム有効:無効
冷却デバイス8/電源/ランタイムアクティブキッズ:0
冷却デバイス8/電源/実行時アクティブ時間:0
grep: cooling_device8/power/autosuspend_delay_ms: 入出力エラー
cooling_device8/電源/ランタイムステータス:サポートされていません
冷却デバイス8/電力/ランタイム使用量:0
冷却デバイス8/電源/ランタイム中断時間:0
冷却装置8/現在の状態:0
冷却装置8/最大状態:100
冷却デバイス9/タイプ:intel_powerclamp
冷却装置9/電源/制御:自動
cooling_device9/電源/非同期:無効
cooling_device9/電源/ランタイム有効:無効
冷却デバイス9/電源/ランタイムアクティブキッズ:0
冷却デバイス9/電源/実行時アクティブ時間:0
grep: cooling_device9/power/autosuspend_delay_ms: 入出力エラー
cooling_device9/power/runtime_status:サポートされていません
冷却デバイス9/電力/ランタイム使用量:0
冷却デバイス9/電源/ランタイム中断時間:0
冷却装置9/現在の状態:-1
冷却装置9/最大状態:50
thermal_zone0/モード:有効
サーマルゾーン0/温度:83000
サーマルゾーン0/タイプ:acpitz
thermal_zone0/電源/制御:自動
thermal_zone0/電源/非同期:無効
thermal_zone0/電源/ランタイム有効:無効
サーマルゾーン0/パワー/ランタイムアクティブキッズ:0
サーマルゾーン0/電力/ランタイムアクティブ時間:0
grep: thermal_zone0/power/autosuspend_delay_ms: 入出力エラー
thermal_zone0/power/runtime_status:サポートされていません
サーマルゾーン0/電力/ランタイム使用量:0
サーマルゾーン0/電源/ランタイムサスペンド時間:0
grep: thermal_zone0/emul_temp: 権限が拒否されました
サーマルゾーン0/トリップポイント0_温度:102000
サーマルゾーン0/トリップポイント0_タイプ:クリティカル
thermal_zone0/ポリシー:ステップワイズ
サーマルゾーン0/パッシブ:0
サーマルゾーン1/温度:51000
サーマルゾーン1/タイプ:x86_pkg_temp
サーマルゾーン1/電源/制御:自動
thermal_zone1/電源/非同期:無効
thermal_zone1/power/runtime_enabled:無効
サーマルゾーン1/パワー/ランタイムアクティブキッズ:0
サーマルゾーン1/電力/ランタイムアクティブ時間:0
grep: thermal_zone1/power/autosuspend_delay_ms: 入出力エラー
thermal_zone1/power/runtime_status:サポートされていません
サーマルゾーン1/電力/ランタイム使用量:0
サーマルゾーン1/電源/ランタイム中断時間:0
grep: thermal_zone1/emul_temp: 権限が拒否されました
サーマルゾーン1/トリップポイント0_温度:0
サーマルゾーン1/トリップポイント0タイプ:パッシブ
サーマルゾーン1/トリップポイント1_温度:0
サーマルゾーン1/トリップポイント1タイプ:パッシブ
thermal_zone1/ポリシー:段階的

そして、turbostat -d sleep 10

$ sudo ~/dls/turbostat -d スリープ 10
turbostat バージョン 4.7 2015 年 6 月 17 日 - 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 MHz 最大効率周波数
28 * 100 = 2800 MHz 基本周波数
cpu5: MSR_IA32_POWER_CTL: 0x0004005d (C1E 自動昇格: 無効)
CPU5: MSR_TURBO_RATIO_LIMIT: 0x24242526
36 * 100 = 3600 MHz 最大ターボ 4 アクティブ コア
36 * 100 = 3600 MHz 最大ターボ 3 アクティブ コア
37 * 100 = 3700 MHz 最大ターボ 2 アクティブ コア
38 * 100 = 3800 MHz 最大ターボ 1 アクティブ コア
cpu5: MSR_CONFIG_TDP_NOMINAL: 0x0000001c (ベース比率=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-C3、UNdemote-C1、demote-C3、demote-C1、ロック: pkg-cstate-limit=5: pc7s)
cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (バランス)
cpu0: MSR_CORE_PERF_LIMIT_REASONS、0x38210000 (アクティブ: ) (ログ: Transitions、MultiCoreTurbo、PkgPwrL2、Auto-HWP、PROCHOT、)
cpu0: MSR_GFX_PERF_LIMIT_REASONS、0x00000000 (アクティブ: ) (ログ: )
cpu0: MSR_RING_PERF_LIMIT_REASONS、0x0c000000 (アクティブ: ) (ログ: PkgPwrL1、PkgPwrL2、)
cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 ワット、0.000061 ジュール、0.000977 秒)
cpu0: MSR_PKG_POWER_INFO: 0x00000178 (47 W TDP、RAPL 0 - 0 W、0.000000 秒)
cpu0: MSR_PKG_POWER_LIMIT: 0x4281d600dc8178 (ロック解除)
cpu0: PKG 制限 #1: 有効 (47.000000 ワット、28.000000 秒、クランプ無効)
cpu0: PKG 制限 #2: 有効 (58.750000 ワット、0.002441* 秒、クランプ無効)
cpu0: MSR_PP0_POLICY: 0
cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (ロック解除)
cpu0: コア制限: 無効 (0.000000 ワット、0.000977 秒、クランプ無効)
cpu0: MSR_PP1_POLICY: 0
cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (ロック解除)
cpu0: GFX 制限: 無効 (0.000000 ワット、0.000977 秒、クランプ無効)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x00641000 (100 ℃)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x88310808 (51 ℃)
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)
    コア 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
       - - 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 秒

集中的なタスクを実行する前の出力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気温については何も書かれていない

答え1

あなたの問題を解決するお手伝いをさせていただきたいと思います。
あなたの特定の問題をよりよく理解できるよう、私に協力していただきたいと思います。

比較的最近の Intel プロセッサが、パッケージの最小 pstate が 800 MHz であるのに、約 600 MHz でロックする状態は、何度も観察されています。ただし、私が知っているのは、サスペンドから RAM への復帰後に発生する状態だけです。さらに、この状態 (要求された値の約 75% であり、その周波数でのロックではありません) は、特に Dell E6320 で、BIOS の問題によるものと (正しいか間違っているかは別として) 考えられています。

編集: 理論: 現在のバージョンの intel_pstate ドライバーでは、クロック変調によるサーマル スロットリングを実行すると、報告される CPU 周波数が非常に低い周波数でロックされます。acpi
-cpufreq ドライバーではこの問題は発生しません。intel_pstate ドライバー用に提案されているパッチ セットでもこの問題は発生しないことに注意してください。
必要な turbostat データに加えて、追加の MSR レジスタがこの理論を確認または否定するのに役立ちます。

以下のテストを実施し、その結果を質問に編集していただけますか:

. 速度を落とした後、time python3 -c "for i in range(10000000): pass"テストを実行します。テストを 10 倍または 100 倍ほど長くして、実行中に実行しますgrep MHz /proc/cpuinfo。すべての CPU が 600 MHz 付近で停止していますか? (元の投稿では、600 MHz がアイドル状態だったためなのか、それともそこで停止しているのかは私にはわかりません。)

. 新規起動後、集中的なタスクを実行する前に、この小さなテストは 0.2 秒より速く実行されますか (おそらく、より重要な桁を抽出するために 10 倍または 100 倍長く実行します)? また、CPU 周波数はどれくらいですか? たとえば、すでにリストされている 2800 MHz は、約 0.75 x 3800 MHz です。 または、CPU は実際に 3800 MHz になりますか (他の CPU のアクティビティやターボが有効になっているかどうかによって異なります)。

周波数のロックアップを防ぐために、4.2RC(リリース候補)シリーズからintel_pstateドライバにパ​​ッチが追加されました。上記のテスト1の結果、周波数がロックされている場合、カーネルを試してみますか?4.3RC4問題は(BIOS の問題とは異なり)サスペンド関連であったため、あなたのケースではロック解除されない可能性があります。

上記のテスト 1 の結果、周波数がロックされている場合、これによってロックが解除されますか?

$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50

すべての CPU が切り替えられることを確認するために、5 秒待ちます。アイドル状態の CPU が実際に intel_pstate ドライバーを通過するまでには、最大 4 秒かかる場合があります。

$ 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

または、turbostat の古いバージョンの場合は次のようになります。

sudo turbostat -v sleep 10

また、別の MSR レジスタも必要です (sudo modprobe msr最初に起動ごとに 1 回必要)。

sudo rdmsr -a 0x19a

以下の出力も必要です:

cd /sys/class/thermal
grep -r . *

turbostat を取得するにはパッケージをインストールする必要があるかもしれませんlinux-tools。turbostat のバージョンが十分に新しくない場合は、sudo modprobe msr最初に実行する必要があるかもしれません。

テストから判断すると、根本的な問題はプロセッサが過熱し、自身を保護するために自らスケール バックしていることのようです。ただし、この状態でロックアップし、回復しないようです。その理由をぜひ理解したいのですが、上記のターボスタット テストでいくらか理解できるでしょう。特に (私が思うに)、MSR_IA32_PACKAGE_THERM_STATUSさまざまな条件とさまざまなドライバーのラインを理解してデコードすることに関心があります。また、IA32_CLOCK_MODULATION MSR (0x19A) を理解してデコードすることにも関心があります。

テストの結果、問題は intel_pstate 周波数スケーリング ドライバーにのみ存在し、acpi cpufreq 周波数スケーリング ドライバーには存在しないようです。私は以前から intel_pstate ドライバーがデフォルトで使用されていると思っていました。

とにかく作業を進めたい場合は、intel_pstate 周波数スケーリング ドライバーの使用を無効にすることができます。ファイルを編集し/etc/default/grub、最初にコピーを作成してから、行intel_pstate=disableに追加しますGRUB_CMDLINE_LINUX_DEFAULT。以下は私のコンピューターの 1 つからの例です。

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 パッケージで問題がある場合は、私の Web サイトに turbostat があります。これは動作するはずです。double u double u double u dot smythies dot com /~doug/linux/intel_pstate/energy/turbostat。これはカーネル ソースにも含まれているので、コンパイルするだけです。

編集: 14 個のターボスタット サンプルからの観察:

14 個のターボスタット サンプルは、熱関連の問題を示しています。アイドル温度はやや高く、アイドル CPU クロック周波数も同様です。ロックアップ状態になる前に、ある程度の熱スロットリングが発生しているようです。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 

答え2

システム BIOS は、熱による過負荷からシステムを保護する方法としてクロック モジュレーションを使用しています。システム パフォーマンスをわずかに (公称最大値の 75%) 下げようとしていますが、実際にはパフォーマンスは最小値の 75% に制限されています。また、クロック モジュレーションは、いったん有効になるとリセットされないようです。現在の形式では、intel_pstate CPU 周波数スケーリング ドライバーはクロック モジュレーションと基本的に互換性がなく、実際の負荷に関係なく、常にターゲット pstate を最小値にします。ただし、acpi-cpufreq CPU スケーリング ドライバーはクロック モジュレーションで正常に動作し、推奨されるドライバーです。

それがすべてですか? いいえ。カーネル 4.5 以降、intel_pstate ドライバーは CPU ID に基づいていくつかの変更が加えられ、一部のプロセッサーはクロック変調と互換性のある負荷ベースのアルゴリズムによって制御され、一部のプロセッサーはクロック変調と互換性のないパフォーマンス ベースのアルゴリズムによって制御されるようになりました。ID=0X3C のプロセッサーは、引き続きパフォーマンス ベースになります。

関連情報