自从升级到linux内核4.7(Debian Stretch)后,似乎我的系统(Aurora-R4 i7 3820)有点慢(有时会短暂挂起),最奇怪的是我再也看不到百分比了顶级,KSysGuard等CPU核心......
顶部(按%CPU排序):
Tasks: 263 total, 1 running, 262 sleeping, 0 stopped, 0 zombie
%Cpu(s): 7.0 us, 1.9 sy, 8.9 ni, 81.5 id, 0.6 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 8095452 total, 4514552 free, 1361576 used, 2219324 buff/cache
KiB Swap: 8301564 total, 8301564 free, 0 used. 6390680 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 203000 7504 5156 S 0.0 0.1 0:00.11 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root 20 0 0 0 0 S 0.0 0.0 31:41.17 kworker/0:0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_sched
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
但是我可以用mpstat看到一些东西:
$ mpstat -P ALL
Linux 4.7.0-1-amd64 (alienium) 23. 10. 16 _x86_64_ (8 CPU)
14:37:02 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
14:37:02 all 5.58 5.02 1.48 0.40 0.00 0.06 0.00 0.00 0.00 87.46
14:37:02 0 6.73 5.03 1.71 0.12 0.00 0.00 0.00 0.00 0.00 86.41
14:37:02 1 6.35 5.15 1.69 0.37 0.00 0.05 0.00 0.00 0.00 86.39
14:37:02 2 4.73 4.98 1.68 0.22 0.00 0.15 0.00 0.00 0.00 88.24
14:37:02 3 6.78 5.18 1.62 0.12 0.00 0.00 0.00 0.00 0.00 86.31
14:37:02 4 7.43 4.96 1.75 2.26 0.00 0.19 0.00 0.00 0.00 83.41
14:37:02 5 3.61 4.83 1.22 0.06 0.00 0.02 0.00 0.00 0.00 90.26
14:37:02 6 5.07 5.06 1.16 0.04 0.00 0.03 0.00 0.00 0.00 88.63
14:37:02 7 3.96 5.01 0.97 0.04 0.00 0.00 0.00 0.00 0.00 90.03
cpuinfo(只是第一个核心)
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz
stepping : 7
microcode : 0x710
cpu MHz : 3600.045
cache size : 10240 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts
bugs :
bogomips : 7200.09
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
UNAME:
Linux alienium 4.7.0-1-amd64 #1 SMP Debian 4.7.8-1 (2016-10-19) x86_64 GNU/Linux
我唯一的解决方案是使用内核4.6,然后一切都很好。
有任何想法吗 ?
谢谢
编辑1
问题似乎真的intel_pstate
。
cpupower frequency-info
analyse du CPU 0 :
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
limitation matérielle : 1.20 GHz - 4.00 GHz
régulateurs disponibles : performance powersave
tactique actuelle : la fréquence doit être comprise entre 1.20 GHz et 4.00 GHz.
Le régulateur "powersave" est libre de choisir la vitesse
dans cette plage de fréquences.
current CPU frequency: Unable to call hardware
current CPU frequency: Unable to call to kernel
boost state support:
Supported: yes
Active: yes
4000 MHz max turbo 4 active cores
4000 MHz max turbo 3 active cores
4000 MHz max turbo 2 active cores
4000 MHz max turbo 1 active cores
在这里我们可以看到它无法调用硬件和内核。但有时(或经过很长一段时间,我不确定); 此命令正确返回CPU频率。
编辑2
仍未使用内核4.8.5,频率根据固定在3.6 GHz /proc/cpuinfo
。
频率未知:
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
<unknown>
请注意,我的系统似乎运行较慢; 那么我认为它使用最小的CPU频率(1.2 GHz)。我的水冷似乎不太努力。
编辑3
我已经尝试了内核4.9-rc5,它看起来像4.6但是有一个问题。我注意到在4.9和4.6上它并没有真正起作用。第一个核心始终保持相同的频率(甚至第二个核心上的一个线程为4.9):
4.6和压力
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 3600.045
cpu MHz : 3600.045
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
4.9和压力
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 3600.045
cpu MHz : 3600.045
cpu MHz : 3600.045
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
cpu MHz : 3899.953
如果我禁用pstate,那么问题仍然存在,但CPU0,1和2卡在不同的频率。只有3-7个正常工作。我将尝试使用linux 4.4。
编辑4
我构建了Linux 4.4.33(LTS),一切都运行良好。所有内核都按预期更改频率。我认为Linux 4.5也没问题(但是我有点气馁,因为在一天内构建了20倍的内核)。我应该搜索我的系统上的什么提交中断,但是对于可能在Linux 4.4和4.6之间破坏某些内容的每个潜在提交进行构建,安装,重新启动和测试都有点困难。这需要太多时间。
编辑5
我已将Debian Stretch升级到Debian Buster,现在它正在使用内核4.13。现在一切似乎都很好。