
在我的計算機 (Tecra W50) 上運行計算量特別大的任務超過幾秒鐘會導致速度變得非常慢。任務完成後效能不會恢復正常。
「運行
time python3 -c "for i in range(10000000): pass"
」在電腦開始變慢之前列印 0.2 秒,但在之後列印 2.1 秒。重新啟動可以解決問題,直到下次執行密集型任務。
dmesg
過去 2 小時內沒有顯示任何內容htop
顯示 CPU 和 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 腳本有一個額外的零更改
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.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.27 0.00 0.00 0.00 36.95 30.53 0.000 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.000 0.00 0.00 56.62 47.73 0.000 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.000 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.000 0.00 0.00 56.53 47.58 0.000 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.000 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.000 0.00 0.00 46.45 38.38 0.000 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.00 0.00 0.00 0.00 34.06 26.79 0.000 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.00 0.00 0.00 0.00 38.87 31.59 0.000 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.000 0.00 0.00 24.97 18.61 0.000 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/class/熱 $ sudo grep -r . * Cooling_device0/類型:處理器 Cooling_device0/電源/控制:自動 Cooling_device0/電源/非同步:已停用 Cooling_device0/power/runtime_enabled:已停用 Cooling_device0/電源/runtime_active_kids:0 Cooling_device0/電源/runtime_active_time:0 grep:cooling_device0 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device0/power/runtime_status: 不支持 Cooling_device0/電源/runtime_usage:0 Cooling_device0/電源/runtime_suspended_time:0 冷卻設備0/cur_state:0 冷卻設備0/最大狀態:10 Cooling_device1/類型:處理器 Cooling_device1/電源/控制:自動 Cooling_device1/電源/非同步:已停用 Cooling_device1/power/runtime_enabled:已停用 冷卻設備1/電源/runtime_active_kids:0 冷卻設備1/電源/runtime_active_time:0 grep:cooling_device1 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device1/power/runtime_status:不支持 冷卻設備1/電源/運轉時使用:0 Cooling_device1/電源/runtime_suspended_time:0 冷卻設備1/cur_state:0 冷卻設備1/最大狀態:10 Cooling_device2/類型:處理器 Cooling_device2/電源/控制:自動 Cooling_device2/電源/非同步:已停用 Cooling_device2/power/runtime_enabled:已停用 冷卻設備2/電源/runtime_active_kids:0 冷卻設備2/電源/runtime_active_time:0 grep:cooling_device2 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device2/power/runtime_status:不支持 冷卻設備2/電源/運轉時使用:0 Cooling_device2/電源/runtime_suspended_time:0 冷卻設備2/cur_state:0 冷卻設備2/最大狀態:10 Cooling_device3/類型:處理器 Cooling_device3/電源/控制:自動 Cooling_device3/電源/非同步:已停用 Cooling_device3/power/runtime_enabled:已停用 冷卻設備3/電源/runtime_active_kids:0 Cooling_device3/電源/runtime_active_time:0 grep:cooling_device3 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device3/power/runtime_status:不支持 Cooling_device3/電源/runtime_usage:0 Cooling_device3/電源/runtime_suspended_time:0 冷卻設備3/cur_state:0 冷卻設備3/最大狀態:10 Cooling_device4/類型:處理器 Cooling_device4/電源/控制:自動 Cooling_device4/電源/非同步:已停用 Cooling_device4/power/runtime_enabled:已停用 cooling_device4/power/runtime_active_kids:0 Cooling_device4/電源/runtime_active_time:0 grep:cooling_device4 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device4/power/runtime_status:不支持 Cooling_device4/電源/runtime_usage:0 Cooling_device4/電源/runtime_suspended_time:0 冷卻設備4/cur_state:0 冷卻設備4/最大狀態:10 Cooling_device5/類型:處理器 Cooling_device5/電源/控制:自動 Cooling_device5/電源/非同步:已停用 Cooling_device5/power/runtime_enabled:已停用 Cooling_device5/power/runtime_active_kids:0 Cooling_device5/電源/runtime_active_time:0 grep:cooling_device5 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device5/power/runtime_status:不支持 Cooling_device5/電源/runtime_usage:0 Cooling_device5/電源/runtime_suspended_time:0 冷卻設備5/cur_state:0 冷卻設備5/最大狀態:10 Cooling_device6/類型:處理器 Cooling_device6/電源/控制:自動 Cooling_device6/電源/非同步:已停用 Cooling_device6/power/runtime_enabled:已停用 Cooling_device6/power/runtime_active_kids:0 Cooling_device6/電源/runtime_active_time:0 grep:cooling_device6 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device6/power/runtime_status:不支持 Cooling_device6/電源/runtime_usage:0 Cooling_device6/電源/runtime_suspended_time:0 冷卻設備6/cur_state:0 冷卻設備6/最大狀態:10 Cooling_device7/類型:處理器 Cooling_device7/電源/控制:自動 Cooling_device7/電源/非同步:已停用 Cooling_device7/power/runtime_enabled:已停用 Cooling_device7/電源/runtime_active_kids:0 Cooling_device7/電源/runtime_active_time:0 grep:cooling_device7 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device7/power/runtime_status:不支持 Cooling_device7/電源/runtime_usage:0 Cooling_device7/電源/runtime_suspended_time:0 冷卻設備7/cur_state:0 冷卻設備7/最大狀態:10 Cooling_device8/類型:LCD Cooling_device8/電源/控制:自動 Cooling_device8/電源/非同步:已停用 Cooling_device8/power/runtime_enabled:已停用 Cooling_device8/power/runtime_active_kids:0 Cooling_device8/電源/runtime_active_time:0 grep:cooling_device8 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device8/power/runtime_status:不支持 Cooling_device8/電源/runtime_usage:0 Cooling_device8/電源/runtime_suspended_time:0 冷卻設備8/cur_state:0 冷卻設備8/最大狀態:100 Cooling_device9/類型:intel_powerclamp Cooling_device9/電源/控制:自動 Cooling_device9/電源/非同步:已停用 Cooling_device9/power/runtime_enabled:已停用 Cooling_device9/power/runtime_active_kids:0 Cooling_device9/電源/runtime_active_time:0 grep:cooling_device9 / power / autosuspend_delay_ms:輸入/輸出錯誤 Cooling_device9/power/runtime_status: 不支持 Cooling_device9/電源/runtime_usage:0 Cooling_device9/電源/runtime_suspended_time:0 冷卻設備9/cur_state:-1 冷卻設備9/最大狀態:50 Thermal_zone0/模式:啟用 Thermal_zone0/溫度:83000 Thermal_zone0/類型:acpitz Thermal_zone0/電源/控制:自動 Thermal_zone0/電源/非同步:已停用 Thermal_zone0/power/runtime_enabled:停用 Thermal_zone0/電源/runtime_active_kids:0 Thermal_zone0/電源/runtime_active_time:0 grep: Thermal_zone0/power/autosuspend_delay_ms: 輸入/輸出錯誤 Thermal_zone0/power/runtime_status:不支持 Thermal_zone0/電源/runtime_usage:0 Thermal_zone0/電源/runtime_suspended_time:0 grep: Thermal_zone0/emul_temp: 權限被拒絕 heat_zone0/trip_point_0_temp:102000 Thermal_zone0/trip_point_0_type:嚴重 Thermal_zone0/策略:step_wise Thermal_zone0/被動:0 Thermal_zone1/溫度:51000 Thermal_zone1/類型:x86_pkg_temp Thermal_zone1/電源/控制:自動 Thermal_zone1/電源/非同步:已停用 Thermal_zone1/power/runtime_enabled:停用 Thermal_zone1/電源/runtime_active_kids:0 Thermal_zone1/電源/runtime_active_time:0 grep: Thermal_zone1/power/autosuspend_delay_ms: 輸入/輸出錯誤 Thermal_zone1/power/runtime_status:不支持 Thermal_zone1/電源/runtime_usage:0 Thermal_zone1/電源/runtime_suspended_time:0 grep: Thermal_zone1/emul_temp: 權限被拒絕 heat_zone1/trip_point_0_temp:0 Thermal_zone1/trip_point_0_type:被動 heat_zone1/trip_point_1_temp:0 Thermal_zone1/trip_point_1_type:被動 Thermal_zone1/策略:step_wise
和輸出turbostat -d sleep 10
$ sudo ~/dls/turbostat -d sleep 10 渦輪增壓器版本 4.7 2015 年 6 月 17 日 - Len Brown CPUID(0):正版Intel 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 最大 Turbo 1 個活動核心 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(鎖=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,降級-C3,降級-C1,鎖定:pkg-cstate-limit = 5:pc7s) cpu0:MSR_IA32_ENERGY_PERF_BIAS:0x00000006(平衡) cpu0: MSR_CORE_PERF_LIMIT_REASONS, 0x38210000(活動:)(記錄:轉換、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℃+/-1) cpu2:MSR_IA32_THERM_STATUS:0x88340808(48℃+/-1) cpu4:MSR_IA32_THERM_STATUS:0x88340808(48℃+/-1) cpu6:MSR_IA32_THERM_STATUS:0x88330808(49℃+/-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
我想盡力幫助您解決您的問題。
我希望您能嘗試幫助我更好地理解您的特定問題。
相對較新的英特爾處理器鎖定在 600 MHz 左右,而封裝的最小 pstate 為 800 MHz 的情況已被多次觀察到。但是,我只知道從掛起恢復到記憶體後發生的情況。此外,這種情況(大約 75% 的要求,而不是該頻率的鎖定)已(正確或錯誤地)歸因於 BIOS 問題,特別是在 Dell E6320 中。
編輯:理論:使用目前版本的 intel_pstate 驅動程序,透過時脈調變進行的任何熱節流都會導致報告的 CPU 頻率被鎖定在某個非常低的頻率。
acpi-cpufreq 驅動程式不會遇到此問題。請注意,建議的 intel_pstate 驅動程式補丁集也不會遇到此問題。
除了所需的渦輪穩定器數據之外,附加的 MSR 寄存器將有助於確認或否認這一理論。
您是否願意進行這些測試,並將結果編輯到您的問題中:
。減速後。做你的time python3 -c "for i in range(10000000): pass"
測試。讓它長大約 10 或 100 倍,並在運行時執行grep MHz /proc/cpuinfo
.所有CPU都停留在600MHz左右嗎? (在您最初的帖子中,我不清楚 600 MHz 是否只是因為它處於空閒狀態,或者是否卡在那裡。)
。全新啟動後,在任何密集任務之前,您的小測試運行速度是否超過 0.2 秒(可能使用 10 或 100 倍的時間來提取更多有效數字)?你能得到什麼CPU頻率? IE 是您已經列出的 2800 MHz 大約 0.75 X 3800 MHz。或者 CPU 實際上會達到 3800 MHz(取決於其他 CPU 上的活動,以及是否啟用 Turbo)。
。為了防止頻率鎖定,從 4.2RC(候選版本)系列開始,為 intel_pstate 驅動程式新增了一個補丁。如果上面測試1的結果是頻率鎖定,你願意嘗試kernel嗎?4.3RC4。在您的情況下,它可能無法解鎖,因為該問題(與 BIOS 問題不同)與掛起有關。
。如果上面測試1的結果是頻率被鎖定,那麼這是否解鎖頻率?
$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
等待 5 秒鐘,以確保每個 CPU 都已切換。空閒 CPU 可能需要長達 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
軟體包才能取得 Turbostat,如果該版本的 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
行。這是我的一台計算機上的範例:
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 軟體包時遇到問題,我的網站上有一個 Turbostat 應該可以使用。雙 u 雙 u 雙 u 點 smythies 點 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 縮放驅動程式可以與時脈調變配合良好,並且是建議的驅動程式。
這就是整個故事嗎?不。控制,與時鐘調變不相容。您的處理器(ID=0X3C)仍將基於效能。