自从从 Linux 4.6 升级到(4.7、4.8)以来,%CPU 始终为 0;频率未知

自从从 Linux 4.6 升级到(4.7、4.8)以来,%CPU 始终为 0;频率未知

自从升级到 Linux 内核 4.7(Debian Stretch)后,我的系统(Aurora-R4 i7 3820)似乎变得有点慢(有时会短暂挂起),最奇怪的是,我再也看不到 top、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:

名称:

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。现在一切似乎都运行正常。

相关内容