Часовой процессор на частотах, отличных от "доступных частот" на Xubuntu с процессором Ryzen

CPU:

$ cat /proc/cpuinfo
processor   : 11
vendor_id   : AuthenticAMD
cpu family  : 23
model       : 96
model name  : AMD Ryzen 5 4600H with Radeon Graphics
stepping    : 1
microcode   : 0x8600104
cpu MHz     : 1397.266
cache size  : 512 KB
physical id : 0
siblings    : 12
core id     : 6
cpu cores   : 6
apicid      : 13
initial apicid  : 13
fpu     : yes
fpu_exception   : yes
cpuid level : 16
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
bugs        : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips    : 5988.99
TLB size    : 3072 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

OS:

Xubuntu 20.10, все обновлено до самого последнего и лучшего по состоянию на 01/06 год.

Kernel:

$ uname -r
5.8.0-34-generic

С этим дистрибутивом linux и комбинацией процессора, у меня есть эти доступные частоты: 3.00 ГГц, 1.70 ГГц, 1.40 ГГц. Пример:

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  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.
  hardware limits: 1.40 GHz - 3.00 GHz
  available frequency steps:  3.00 GHz, 1.70 GHz, 1.40 GHz
  available cpufreq governors: conservative userspace powersave ondemand performance schedutil
  current policy: frequency should be within 1.40 GHz and 3.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 3.00 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  3000MHz
    Pstate-P1:  1700MHz
    Pstate-P2:  1400MHz

Я не могу запустить частоту... скажем, 2.9 ГГц или даже 800 МГц. Мне нужна детализация, на какой частоте работает мой процессор.

Я пробовал ZenStates:

$ ./zenstates.py -p 2 -f 20 -d 8 -v 66 --enable
$ ./zenstates.py -l
P0 - Enabled - FID = 78 - DID = 8 - VID = 35 - Ratio = 30.00 - vCore = 1.21875
P1 - Enabled - FID = 66 - DID = C - VID = 60 - Ratio = 17.00 - vCore = 0.95000
P2 - Enabled - FID = 20 - DID = 8 - VID = 66 - Ratio = 8.00 - vCore = 0.91250
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Enabled
C6 State - Core - Enabled

Что работает в соответствии с cpupower (не совсем):

analyzing CPU 0:
  driver: acpi-cpufreq
  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.
  hardware limits: 1.40 GHz - 3.00 GHz
  available frequency steps:  3.00 GHz, 1.70 GHz, 1.40 GHz
  available cpufreq governors: conservative userspace powersave ondemand performance schedutil
  current policy: frequency should be within 1.40 GHz and 3.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 1.70 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  3000MHz
    Pstate-P1:  1700MHz
    Pstate-P2:  800MHz

Но на самом деле вы не можете изменить частоту на 800МГц с cpupower. Самая низкая частота, на которую вы можете пойти - 1.4 ГГц.

Я также пробовал cpufrequtils, это ничего не делает.

Я пытался игнорировать_ppc.

В настоящее время я столкнулся с интересной ошибкой, связанной с частотой процессора:

Мой процессор работает на частоте 400 МГц после пробуждения от многодневного перерыва. Как такое возможно?

Текущая частота процессора говорит 3 ГГц, что неправильно. Я знаю это по двум причинам:

1.

watch -n.1 'cat /proc/cpuinfo|grep MHz'

$ cat /proc/cpuinfo|grep MHz
cpu MHz     : 399.221
cpu MHz     : 399.183
cpu MHz     : 399.007
cpu MHz     : 399.201
cpu MHz     : 399.221
cpu MHz     : 399.216
cpu MHz     : 399.113
cpu MHz     : 399.198
cpu MHz     : 398.940
cpu MHz     : 399.163
cpu MHz     : 399.199
cpu MHz     : 399.072
  1. Мой компьютер работает вяло, и я не запускаю ничего, что могло бы привести к тому, что компьютер будет работать медленнее, чем обычно.

Попытки вернуться к нормальной работе:

1.

cpupower frequency-set --max 3GHz
cpupower frequency-set --governor ondemand

и

cpupower frequency-set --governor performance

Согласно cpupower, команды работали. Но мой компьютер все еще работал на 400MHz.

  1. Я перезагрузился в BIOS, не внес никаких изменений, вышел из BIOS, загрузился в Xubuntu, частота процессора все еще была 400 МГц.

Ниже исправлена проблема:

Я перезагрузился в windows, перезагрузился обратно в Xubuntu, частота процессора вернулась в нормальное состояние.

Возможно, это ошибка tlp. Смотрите мою tlp-конфигурацию /etc/tlp.conf, я перечислю только то, что не прокомментировал:

TLP_ENABLE=1
TLP_PERSISTENT_DEFAULT=1
SCHED_POWERSAVE_ON_AC=1
WIFI_PWR_ON_AC=on
WIFI_PWR_ON_BAT=on
USB_AUTOSUSPEND=1

Вот парень, у которого был такой же баг приостановки работы процессора. Вот еще один парень, та же самая ошибка.

0
задан 7 January 2021 в 09:14

1 ответ

Если цель состоит в том, чтобы ядра процессора работали на очень специфических скоростях, то вы могли бы использовать решение этого вопроса здесь . В принципе, это работает так:

  1. Установите cpufreq из репозитория Ubuntu
  2. Запустите cpufreq-info, чтобы посмотреть, какие регуляторы и лимиты уже установлены
  3. Вызовите cpufreq-set --cpu 0 -мин 800МГц --max 800МГц для каждого ядра процессора на вашей машине, устанавливая значение MHz (или GHz) на желаемый вами предел

Я никогда не пытался управлять процессором с жестким минимумом, поэтому не знаю наверняка, сможете ли вы ограничить вашу систему с той степенью детализации, которую вы ищете.

0
ответ дан 18 March 2021 в 23:46

Другие вопросы по тегам:

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