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.
cpupower frequency-set --max 3GHz
cpupower frequency-set --governor ondemand
и
cpupower frequency-set --governor performance
Согласно cpupower, команды работали. Но мой компьютер все еще работал на 400MHz.
Ниже исправлена проблема:
Я перезагрузился в 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
Вот парень, у которого был такой же баг приостановки работы процессора. Вот еще один парень, та же самая ошибка.
Если цель состоит в том, чтобы ядра процессора работали на очень специфических скоростях, то вы могли бы использовать решение этого вопроса здесь . В принципе, это работает так:
cpufreq
из репозитория Ubuntucpufreq-info
, чтобы посмотреть, какие регуляторы и лимиты уже установленыcpufreq-set --cpu 0 -мин 800МГц --max 800МГц
для каждого ядра процессора на вашей машине, устанавливая значение MHz (или GHz) на желаемый вами пределЯ никогда не пытался управлять процессором с жестким минимумом, поэтому не знаю наверняка, сможете ли вы ограничить вашу систему с той степенью детализации, которую вы ищете.