LinuxForum.Fans
Тема

Настройка частоты процессора в ядре, default CPUFreq governor, cpufreq

Автор: nockdown 9 сообщений 12513 просмотров
#223421

Вопрос возник во время:
1. поиска аналога cpu-z для linux
2. изучения опций ядра для сборки собственного.

Так например, утилита cpufreq-info сообщила, что:

hardware limits: 2.00 GHz - 2.66 GHz
available frequency steps: 2.66 GHz, 2.00 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 2.00 GHz and 2.66 GHz. The governor "ondemand" may decide which speed to use within this range.
current CPU frequency is 2.00 GHz.

а acpitool --cpu подтверждает:

Min/Max frequency : 1998/2664 MHz
Current frequency : 1998 MHz
Frequency governor : ondemand

Но вот текущий конфиг ядра, взятый:

text
cat /boot/config-`uname -r` | grep CONFIG_CPU_FREQ_DEFAULT_GOV

показывает:

CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set

Как же так? В ядре performance, а по факту ondemand ??? :unsure:

PS ядро дефолтное, никаких изменений в него не вносилось.
PPS система - kubuntu 11.10

#223424

nockdown, всё верно, показан один из governor'ов по-умолчанию, остальные могут быть выбраны позже — как скриптами инициализации, так и пользовательскими приложениями.
Вот, например, конфигурация моего ядра:

text

lupo@gentoo-laptop ~ % zgrep GOV /proc/config.gz
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

У меня установлен пакеты cpufreqd и cpufrequtils, которые позволяют в зависимости от различных условий выбрать в том числе тот или иной governor.

#223608

Lupo Alberto, спасибо за ответ.
Но я, к сожалению, не понял каким образом у меня работает другой governor (не дефолтный performance). Хотя я к этому изменению руку никак не приложил. cpufreqd у меня не установлен, скрипты инициализации тоже не создавал.
Что же его изменило на ondemand? :o

#223610

nockdown, я так понимаю, у вас установлен KDE, который имеет программу управления функциями энергосбережения powerdevil или подобную — вероятно, изменения governor'а последствия их работы.

#228069

Lupo Alberto, единственное похожее из установленного - powermgmt-base. Советуете в изменениях governor на не дефолтный ondemand винить powermgmt-base? :o

:~$ aptitude search power
p gir1.2-upowerglib-1.0 - GObject introspection data for upower
p gnome-power-manager - power management tool for the GNOME desktop
p indicator-power - Indicator showing power state.
p installation-guide-powerpc - Ubuntu installation guide for powerpc
p libpowerman0 - Client library for Powerman - Centralized PDU management
p libpowerman0-dev - Development files for Powerman - Centralized PDU management
p libupower-glib-dev - abstraction for power management - development files
p libupower-glib1 - abstraction for power management - shared library
v not+powerpc -
v not+powerpc -
v not+powerpc64 -
v not+powerpc64 -
p olpc-powerd - OLPC XO power management support daemon
p opendrim-lmp-powermanagement - OpenDRIM Power Management provider
p opendrim-lmp-powersupply - OpenDRIM Power Supply provider
p openerp-modules-poweremail - Enterprise Resource Management (email module)
p powerdebug - tool to display regulator, sensor and clock information
p powerman - Centralized Power Distribution Unit (PDU) management
p powermanagement-interface - platform neutral powermanagement interface
p powermanga - vertical shoot 'em up with colourful 3D graphics
p powermanga-data - graphics and audio data for powermanga
i powermgmt-base - общие утилиты и файлы настроек для управления питанием
p powernap - reduce the power consumption of a system when inactive
p powernap-common - common library files required by powernap
p powernap-server - PowerNap Power Services suite
p powertop - Linux tool to find out what is using power on a laptop
p powertop-1.13 - Linux tool to find out what is using power on a laptop
p powerwake - remotely wake a napping system
p powerwake-common - common library files required by powerwake
p powerwaked - remotely wake a napping system - Server Daemon
p texpower - Macros for creating professional presentations with LaTeX
p texpower-examples - TeXpower examples
p texpower-manual - manual for the TeXpower macro bundle
i upower - слой абстракции для управления электропитанием
p upower-doc - уровень абстрации для управления питанием - документация
p xfce4-power-manager - power manager for Xfce desktop
p xfce4-power-manager-data - power manager for Xfce desktop, arch-indep files
p xfce4-power-manager-plugins - power manager plugins for Xfce panel
#228086
nockdown написал:
Советуете в изменениях governor на не дефолтный ondemand винить powermgmt-base? huh

Зачем уж сразу «винить», надо попытаться настроить wink

#228091

nockdown, какой-нить DE стоит? вполне может какой-нить его компонент менять...

#228123

Fat-Zer, установлен kde 4.7.2

Lupo Alberto, согласен, надо почитать, разобраться.

Кстати в биосе у меня настроено:
1) энергосберегающие технологии
C1E Support - Enabled
Inter(R) SpeedStep (tm) Tech. - Enabled
2) разгон
CPU Frequency - 400 (вместо дефолтного 333)
посему частота процессора 3,21 GHz, вместо дефолтого 2,66 GHz


PS И ещё у меня сложилось впечатление, что линукс и разгон не дружат.
Попытка найти достойный аналог cpu-z для линукса так и не увенчалась успехом. Были опробованы 10 утилит. И все дают разные результаты и в простое, и в нагрузке. Кроме того многие из них не умеют работать в реальном времени.
Вот список:
1. cat /proc/cpuinfo | grep "cpu MHz"
2. sudo dmidecode -s processor-frequency
3. sudo lshw | grep "size" | grep "MHz"
sudo lshw | grep -m1 "clock"
4. hardinfo (graphical interface)
5. sysinfo (graphical interface)
6. cpu-g (graphical interface)
7. wine+cpu-z (graphical interface)
8. acpitool --cpu | grep "Current frequency"
9. cpufreq-info
10. perlmon (graphical interface)

#228345
nockdown написал:

1) почему же тогда у меня в данный момент стоит не дефолт (не performance), а ondemand? Хотя я ничего самостоятельно не менял?
2) может какие-то другие опции так изменяют этот дефолт (performance)?

На unixforum подсказывают, что причина в скрипте /etc/init.d/ondemand , который спустя 60 секунд после загрузки переключает governor в ondemand. Посмотрим содержимое /etc/init.d/ondemand :

text
:~$ cat /etc/init.d/ondemand 

#! /bin/sh
### BEGIN INIT INFO
# Provides: ondemand
# Required-Start: $remote_fs $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Set the CPU Frequency Scaling governor to "ondemand"
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

case "$1" in
start)
start-stop-daemon --start --background --exec /etc/init.d/ondemand -- background
;;
background)
sleep 60 # probably enough time for desktop login

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
[ -f $CPUFREQ ] || continue
echo -n ondemand > $CPUFREQ
done
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac

Выделенный ondemand можно заменить к примеру performance. Или запретить скрипту исполнение, или удалить его. Меня же режим ondemand вполне устраивает.

Войдите или зарегистрируйтесь, чтобы ответить.