Управление частотой процессора
У меня есть Kubuntu 14.04 с новейшим ядром HWE (3.16.0-31-generic) и процессор Xeon 1246v3 (который по сути является i7 4770 с поддержкой ecc). Процессор имеет базовую частоту 3,5 ГГц и максимальную турбо-частоту 3,9 ГГц.
У меня есть следующие вопросы:
1) У меня по умолчанию включены Intel p-состояния, что нормально, но вы знаете, что с p-состояниями вы получаете только два регулятора: производительность и powersave.Как вручную установить максимально допустимую частоту процессора?
2) Как указано выше, процессор должен работать на 3.9 только с одним загруженным ядром. При полной загрузке всех ядер он не должен превышать 3,5 ГГц. Но если я дам команду watch -n 0 "cat /proc/cpuinfo | grep -i mhz"
Я вижу, что ВСЕ четыре ядра постоянно на частоте 3,9 ГГц, что должно быть невозможно. Как это?
Спасибо!
3 ответа
Вы можете установить максимальные и минимальные частоты, установив /sys/devices/system/cpu/cpu**N**/cpufreq/scaling_min_freq
а также /sys/devices/system/cpu/cpu**N**/cpufreq/scaling_max_freq
Подробности описаны в этом документе: https://software.intel.com/sites/default/files/comment/1716807/how-to-change-frequency-on-linux-pub.txt
Редактировать: вы можете достичь того же, используя cpufreq-set
в cpufrequtils
пакет: https://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq-set.html
Вопрос 1: Как вручную установить максимально допустимую частоту процессора?
Например, чтобы установить максимальную частоту равную 60% от 3,5 ГГц (турбо-режим отключен) или 3,9 ГГц (турбо-режим включен):
echo "60" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
Вопрос 2: Я вижу, что ВСЕ четыре ядра постоянно работают на частоте 3,9 ГГц, что [НЕ] должно быть невозможным. Как это?
Они не все активны одновременно. Существует только 1 PLL, и все процессоры всегда работают на одной частоте. Если вы видите 3,9 ГГц, то только один ЦП находился в состоянии C0 на момент взятия пробы.
Все , что упомянуто выше, работает, если в вашем ядре установлены правильные модули:
# CPU frequency control Driver
modprobe acpi_cpufreq
modprobe mperf
# CPU Frequency scaling modules
modprobe cpufreq_conservative
modprobe cpufreq_ondemand
modprobe cpufreq_performance
modprobe cpufreq_powersave
modprobe cpufreq_stats
modprobe cpufreq_userspace
modprobe freq_table