从linux 4.6升级到(4.7,4.8),%CPU始终为0; 频率未知


4

自从升级到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。现在一切似乎都很好。


@ToYonos:既然你不是原版海报,请你详细介绍一下你的问题。为什么帖子中的解决方案不适合你的情况。
harrymc

它可能关注的人:我发布了一个元问题,Bounty-setter无法评论赏金问题,参考这个问题。
斯科特

它可能关注的对象(并没有访问过meta问题):除了“不要那样做”之外,这个问题没有答案,或者更准确地说,“是的,Linux的新版本有这个问题。如果你不喜欢它,请使用旧版本的Linux。“ToYonos说:”我不希望这个[降级]; 我宁愿有一个解释和/或一个适当的解决方案。“
斯科特

重新顶部:如果你在顶部按“1”,你会看到你在mpstat中看到的每CPU信息吗?
Anon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.