После обновления с Linux 4.6 до (4.7, 4.8)% CPU всегда равно 0; частота неизвестна

760
Skywalker13

После обновления до ядра Linux 4.7 (Debian Stretch) кажется, что моя система (Aurora-R4 i7 3820) работает немного медленнее (иногда короткие зависания), и самое странное, что я больше не вижу процентов на Процессорные ядра с верхом, KSysGuard и т. Д., ...

top (сортировка по% 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 

Здесь мы видим, что он не может вызвать аппаратное обеспечение и ядро. Но иногда (или после очень долгого времени, я не уверен); эта команда корректно возвращает частоту процессора.

Редактировать 2

Все еще не работает с ядром 4.8.5, частота зависает на 3,6 ГГц в соответствии с /proc/cpuinfo.

Частота неизвестна: sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq <unknown>

Обратите внимание, что моя система работает медленнее; тогда я думаю, что он использует минимальную частоту процессора (1,2 ГГц). Кажется, мое водяное охлаждение не работает.

Редактировать 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. Кажется, теперь все работает нормально.

4
@ToYonos: Поскольку вы не являетесь оригинальным автором, не могли бы вы рассказать о вашей проблеме? и почему решение в посте не подходит для вашего случая. harrymc 6 лет назад 0
Для кого это может касаться: я опубликовал мета-вопрос, [Установщик цен не может комментировать вопрос о вознаграждении] (https://meta.stackexchange.com/q/300197/195817) со ссылкой на этот вопрос. Scott 6 лет назад 0
Для кого это может касаться (и не посещало мета вопрос): нет ответа на этот вопрос, кроме «не делай этого» или, если быть более точным, «Да, в более новых версиях Linux есть такая проблема , Если вам это не нравится, используйте старую версию Linux ». ToYonos говорит:« Я не хочу, чтобы это [понижали]; Я предпочел бы иметь объяснение и / или правильное решение ». Scott 6 лет назад 0
Re top: Если вы нажмете «1» вверху, вы увидите информацию о процессоре, которую вы видели в mpstat? Anon 6 лет назад 0

0 ответов на вопрос

Похожие вопросы