How do I determine all components controlling CPU frequency?

Two requests please:

  1. Can someone tell me how I can determine all the components that are a) installed and b) actively controlling CPU frequency on an installation?
  2. And separately, can someone tell me where the documentation for those components is?

[For context, the forum seems to be riddled with questions on the topic of "how do I set/control/limit the range of" cpu frequency, and many of them don't seem to get actual accepted answers. I have one such, so I will have to try to learn enough to work this out for myself. Unfortunately, the docs have so far mostly eluded me, and I have failed to find the "root" document, if such exists" that describes the overall concepts. So, I'm left with a system that seems to break the rules by clocking the CPU slower and slower (down to 240 MHz!) on a system that seems to be limited to 800 MHz - 2.4 GHz.]

EDIT follow up to Pilot6's comments/answer:

  1. It's an Intel CPU (Core Duo)
  2. The scaling driver is acpi (why would that be? what governs that decision--it's that way out of the box)
  3. I tried changing scaling_min_freq, and the system overwrote it (with a value that doesn't match what the BIOS uses for "IntelSpeedStep")
  4. it makes no difference whether speedstep is enabled in BIOS
  5. it runs much slower than min_freq, which makes your final comment about hardware issue particularly interesting.
  6. It slows down (per my other thread here: CPU clock speed slows way down Dell / Intel Core Duo (Lubuntu and others) ) when under long term load, but seemingly without getting too hot (~65C). It also takes forever to speed back up (but it does eventually).

TIA Toby

задан 18 June 2020 в 17:31

1 ответ

Частота процессора контролируется ядром Linux. В Ubuntu больше ничего не установлено.

Для настольных систем обычно используются два драйвера масштабирования: intel_pstate для относительно новых процессоров Intel или acpi-cpufreq для AMD и других процессоров.

acpi-cpufreq можно использовать и для процессоров Intel.

Вы можете проверить, какая система используется в

cat /sys/devices/system/cpu/cpufreq/policy0/scaling_driver

. Для обоих драйверов вы можете контролировать максимальную и минимальную скорости, записав значения в / sys / devices / system / cpu / cpufreq / policy0 / scaling_min_freq и / sys / devices / system / cpu / cpufreq / policy0 / scaling_max_freq .

intel_pstate и [116585pi] -cpufreq имеют разные регуляторы масштабирования.

Вы можете проверить и установить их в / sys / devices / system / cpu / cpufreq / policy0 / scaling_governor .

Для многоядерных ЦП есть политика для каждого ядра. Вы можете установить политики отдельно.

Если ваш процессор работает на скорости ниже scaling_min_freq , это означает, что это аппаратная проблема. Материнская плата также может контролировать частоты.

ответ дан 19 June 2020 в 21:23

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

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