Частота scaling_cur_freq низкая (~399 МГц), когда зарядное устройство подключено.

Вопрос или проблема

Если я выполню grep . /sys/bus/cpu/devices/cpu*/cpufreq/scaling_cur_freq (что, как я думаю, измеряет ядро), вывод будет приблизительно следующим:

/sys/bus/cpu/devices/cpu0/cpufreq/scaling_cur_freq:399235
/sys/bus/cpu/devices/cpu1/cpufreq/scaling_cur_freq:399239
/sys/bus/cpu/devices/cpu2/cpufreq/scaling_cur_freq:399204
/sys/bus/cpu/devices/cpu3/cpufreq/scaling_cur_freq:399256

Это ниже ожидаемого, так как grep . /sys/bus/cpu/devices/cpu*/cpufreq/scaling_min_freq показывает:

/sys/bus/cpu/devices/cpu0/cpufreq/scaling_min_freq:1400000
/sys/bus/cpu/devices/cpu1/cpufreq/scaling_min_freq:1400000
/sys/bus/cpu/devices/cpu2/cpufreq/scaling_min_freq:1400000
/sys/bus/cpu/devices/cpu3/cpufreq/scaling_min_freq:1400000

Но иногда один или два правильно работающих процессора (для управляющего алгоритма) прорываются. Я называю их “всплесками”.

sudo grep . /sys/bus/cpu/devices/cpu*/cpufreq/cpuinfo_cur_freq (что, как я думаю, сообщает оборудование), дает другой вывод (зависит от управляющего алгоритма, который в этом случае performance):

/sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_cur_freq:2600000
/sys/bus/cpu/devices/cpu1/cpufreq/cpuinfo_cur_freq:2600000
/sys/bus/cpu/devices/cpu2/cpufreq/cpuinfo_cur_freq:2600000
/sys/bus/cpu/devices/cpu3/cpufreq/cpuinfo_cur_freq:2600000

Даже если я установлю управляющий алгоритм на производительность с помощью cpupower frequency-set --governor performance, все равно очень медленно (но всплески имеют ожидаемую [максимальную] скорость).

/proc/cpuinfo:

процессор       : 0
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 24
model name      : AMD Ryzen 3 3250U with Radeon Graphics
stepping        : 1
microcode       : 0x810810d
cpu MHz         : 399.281
размер кеша     : 512 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
флаги           : 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 rapl 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 skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es
ошибки          : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0
bogomips        : 5190.17
TLB size        : 2560 4K страница
clflush size    : 64
cache_alignment : 64
размеры адресов : 43 бита физически, 48 бит виртуально
энергосбережение: ts ttp tm hwpstate eff_freq_ro [13] [14]

процессор       : 1
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 24
model name      : AMD Ryzen 3 3250U with Radeon Graphics
stepping        : 1
microcode       : 0x810810d
cpu MHz         : 399.258
размер кеша     : 512 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
флаги           : 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 rapl 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 skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es
ошибки          : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0
bogomips        : 5190.17
TLB size        : 2560 4K страница
clflush size    : 64
cache_alignment : 64
размеры адресов : 43 бита физически, 48 бит виртуально
энергосбережение: ts ttp tm hwpstate eff_freq_ro [13] [14]

процессор       : 2
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 24
model name      : AMD Ryzen 3 3250U with Radeon Graphics
stepping        : 1
microcode       : 0x810810d
cpu MHz         : 399.218
размер кеша     : 512 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
флаги           : 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 rapl 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 skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es
ошибки          : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0
bogomips        : 5190.17
TLB size        : 2560 4K страница
clflush size    : 64
cache_alignment : 64
размеры адресов : 43 бита физически, 48 бит виртуально
энергосбережение: ts ttp tm hwpstate eff_freq_ro [13] [14]

процессор       : 3
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 24
model name      : AMD Ryzen 3 3250U with Radeon Graphics
stepping        : 1
microcode       : 0x810810d
cpu MHz         : 399.155
размер кеша     : 512 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
флаги           : 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 rapl 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 skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es
ошибки          : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0
bogomips        : 5190.17
TLB size        : 2560 4K страница
clflush size    : 64
cache_alignment : 64
размеры адресов : 43 бита физически, 48 бит виртуально
энергосбережение: ts ttp tm hwpstate eff_freq_ro [13] [14]

Как видите, это также сообщает о низкой тактовой частоте.

kinfo:

Операционная система: Kubuntu 24.04
Версия KDE Plasma: 5.27.12
Версия KDE Frameworks: 5.115.0
Версия Qt: 5.15.13
Версия ядра: 6.8.0-55-generic (64-бит)
Графическая платформа: X11
Процессоры: 4 x AMD Ryzen 3 3250U with Radeon Graphics
Память: 13.5 GiB RAM
Графический процессор: AMD Radeon Vega 3 Graphics

sensors (lm-sensors):

amdgpu-pci-0400
Адаптер: PCI адаптер
vddgfx:           N/A  
vddnb:            N/A  
edge:         +43.0 C  

k10temp-pci-00c3
Адаптер: PCI адаптер
Tctl:         +43.2 C  

BAT0-acpi-0
Адаптер: ACPI интерфейс
in0:          12.84 V  

nvme-pci-0100
Адаптер: PCI адаптер
Composite:    +35.9 C  (низкий  =  -5.2 C, высокий = +79.8 C)
                       (критический = +84.8 C)
ОШИБКА: Не удается получить значение подкритерия temp2_min: ошибка ввода-вывода
ОШИБКА: Не удается получить значение подкритерия temp2_max: ошибка ввода-вывода
Датчик 1:     +39.9 C  (низкий  =  +0.0 C, высокий =  +0.0 C)
ОШИБКА: Не удается получить значение подкритерия temp3_min: ошибка ввода-вывода
ОШИБКА: Не удается получить значение подкритерия temp3_max: ошибка ввода-вывода
Датчик 2:     +35.9 C  (низкий  =  +0.0 C, высокий =  +0.0 C)
ОШИБКА: Не удается получить значение подкритерия temp4_min: ошибка ввода-вывода
ОШИБКА: Не удается получить значение подкритерия temp4_max: ошибка ввода-вывода
Датчик 3:     +29.9 C  (низкий  =  +0.0 C, высокий =  +0.0 C)
ОШИБКА: Не удается получить значение подкритерия temp5_min: ошибка ввода-вывода
ОШИБКА: Не удается получить значение подкритерия temp5_max: ошибка ввода-вывода
Датчик 4:     +31.9 C  (низкий  =  +0.0 C, высокий =  +0.0 C)
ОШИБКА: Не удается получить значение подкритерия temp6_min: ошибка ввода-вывода
ОШИБКА: Не удается получить значение подкритерия temp6_max: ошибка ввода-вывода
Датчик 5:     +32.9 C  (низкий  =  +0.0 C, высокий =  +0.0 C)
ОШИБКА: Не удается получить значение подкритерия temp7_min: ошибка ввода-вывода
ОШИБКА: Не удается получить значение подкритерия temp7_max: ошибка ввода-вывода
Датчик 6:     +34.9 C  (низкий  =  +0.0 C, высокий =  +0.0 C)

acpitz-acpi-0
Адаптер: ACPI интерфейс
температура1:        +43.0 C  

/sys/class/dmi/id/ec_firmware_release: 28.23

/sys/class/dmi/id/bios_version: F.75

Модель: HP Laptop 14-fq0110wm

Веб-страницы также загружаются медленнее, чем раньше, так что scaling_cur_freq вероятно не так уж неточно отображает практическую тактовую частоту.

Эта низкая скорость возникает только при подключенном зарядном устройстве.

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

Как я могу это исправить?

Правка: я также пробовал sudo cpupower idle-set -d 0 (отключение idlestate 0). Также пробовал отключать idlestate 1 и 2.

.

Ответ или решение

Ваш вопрос о низкой частоте процессора при подключении зарядного устройства — это достаточно распространённая проблема, с которой могут сталкиваться пользователи ноутбуков. Давайте подробно рассмотрим потенциальные причины этой проблемы, основываясь на предоставленных данных и возможных решениях.

Теория

Проблема, которую вы описываете, связана с тем, что текущая частота процессора (scaling_cur_freq) значительно ниже минимально допустимой (scaling_min_freq) при подключённой зарядке. Это может быть вызвано рядом факторов, начиная от настроек системы управления питанием до аппаратных ограничений или неисправностей BIOS:

  1. Профили управления питанием: Вероятно, в системе активен профиль управления питанием, который снижает производительность процессора при подключении к сети. Это может быть сделано для минимизации перегрева и энергопотребления.

  2. BIOS и прошивка: В некоторых случаях обновления BIOS или изменения настроек в BIOS могут повлиять на частоту процессора. Версия прошивки и BIOS, которые вы указали, также могут играть значимую роль.

  3. Настройки драйверов: Ваша система может использовать неправильные драйверы для управления питанием и частотой процессора. Это также может вызывать подобные проблемы.

  4. Термическое регулирование (Throttling): Когда система достигает определённых температурных пределов, она автоматически снижает производительность для предотвращения перегрева.

Пример

Пользователи сообщали о подобных проблемах, когда их ноутбуки, подключённые к источнику питания, значимо снижали производительность в связи с активированными предустановленными профилями экономии энергии. Например, была ситуация, когда ноутбук при подключении к сети и батарее обрабатывал задачи с пониженной частотой, несмотря на установленный режим "производительности". Это решалось отключением режима "экономии энергии" и использованием максимального режима производительности в BIOS или при помощи утилит управления питанием Linux.

Применение

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

  1. Проверка и изменение профилей питания:

    • Проверьте настройки управления питанием в вашей операционной системе. В KDE и других средах Linux можно переключить профиль питания на "Производительность", используя утилиты, такие как TLP или cpupower.
    • Команда для изменения режима:
      sudo cpupower frequency-set --governor performance
    • Настройте ваш профиль "Производительность" во всех утилитах, которые могут управлять энергопотреблением.
  2. Обновление BIOS и EC прошивки:

    • Убедитесь, что у вас последняя версия BIOS и EC (Embedded Controller). Производители могут выпускать обновления, которые устраняют подобные проблемы.
    • Пожалуйста, проверьте сайт производителя вашего устройства (например, HP) для получения последних обновлений.
  3. Включение термического мониторинга:

    • Убедитесь, что системы охлаждения работают правильно, и температура не является причиной ограничения. Вы можете использовать lm-sensors для мониторинга температур.
  4. Рассмотрение "хаков" с ec_sys:

    • Опасения относительно использования ec_sys для изменения статуса энергопотребления обоснованы, однако иногда это может быть единственным способом обойти ограничения при условии, что вы приняли меры предосторожности.
  5. Форсирование отключения низких уровней простоя:

    • Используйте команду:
      sudo cpupower idle-set -d 0  # Отключение idle state 0
  6. Проверка настроек драйверов и ядра:

    • Убедитесь, что все драйвера актуальны и подходят для вашего оборудования, особенно те, что связаны с управлением энергопотреблением.

Если ни одно из указанных решений не помогает, стоит рассмотреть возможность обращения в техническую поддержку вашего производителя или задавать вопросы на тематических форумах, таких как Stack Overflow или Phoronix, где пользователи с аналогичным оборудованием могут поделиться своим опытом и решениями.

Оцените материал
Добавить комментарий

Капча загружается...