# помогите настроить cpufreq

## Pixode

У меня ноут ASUS A7V хотелось бы чтобы частота процессора изменялась динамически чтоб при простоях она понижалась и наоборото повышалалась

при загрузке машины приложениями.

поставил cpufreq подскажите что подкрутить в конфиге чтоб автоматом менялась частота.

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

lm_sensors стоит вроде работает.

serega@kid ~ $ sensors

it8712-isa-0290

Adapter: ISA adapter

VCore 1:   +0.00 V  (min =  +1.42 V, max =  +1.57 V)   ALARM

VCore 2:   +0.00 V  (min =  +2.40 V, max =  +2.61 V)   ALARM

+3.3V:     +0.00 V  (min =  +3.14 V, max =  +3.47 V)   ALARM

+5V:       +5.00 V  (min =  +4.76 V, max =  +5.24 V)   

+12V:      +0.00 V  (min = +11.39 V, max = +12.61 V)   ALARM

-12V:     -27.36 V  (min = -12.63 V, max = -11.41 V)   ALARM

-5V:      -13.64 V  (min =  -5.26 V, max =  -4.77 V)   ALARM

Stdby:     +5.00 V  (min =  +4.76 V, max =  +5.24 V)   

VBat:      +3.18 V

fan1:     3068 RPM  (min =    0 RPM, div = 2)          

fan2:     3068 RPM  (min = 3000 RPM, div = 2)          

fan3:       -1 RPM  (min = 3000 RPM, div = 2)          

M/B Temp:    +44°C  (low  =  +128°C, high =  +122°C)   sensor = diode   

CPU Temp:    +39°C  (low  =   +33°C, high =   +50°C)   sensor = diode   

Temp3:      +128°C  (low  =   +15°C, high =   +45°C)   sensor = disabled

конфиг cpufreq ниже скажите че там подкрутить или как менять правила с консоли.

спасибо.

# cat /etc/cpufreqd.conf

# this is a comment

# see CPUFREQD.CONF(5) manpage for a complete reference

[General]

pidfile=/var/run/cpufreqd.pid

poll_interval=2

verbosity=4

#enable_remote=1

#remote_group=root

[/General]

#[acpi]

acpid_socket=/var/run/acpid.socket

#[/acpi]

#[nforce2_atxp1]

#vcore_path=/some/path

#vcore_default=1500

#[/nforce2_atxp1]

#[sensors_plugin]

#sensors_conf=/some/file

sensors_conf=/etc/sensors.conf

#[/sensors_plugin]

[Profile]

name=On Demand High

minfreq=40%

maxfreq=100%

policy=ondemand

[/Profile]

[Profile]

name=On Demand Low

minfreq=20%

maxfreq=80%

policy=ondemand

[/Profile]

[Profile]

name=Performance High

minfreq=100%

maxfreq=100%

policy=performance

#exec_post=echo 8 > /proc/acpi/sony/brightness

[/Profile]

[Profile]

name=Performance Low

minfreq=80%

maxfreq=80%

policy=performance

[/Profile]

[Profile]

name=Powersave High

minfreq=70%

maxfreq=70%

policy=powersave

[/Profile]

[Profile]

name=Powersave Low

minfreq=30%

maxfreq=30%

policy=powersave

[/Profile]

#[Profile]

#name=Conservative High

#minfreq=33%

#maxfreq=100%

#policy=conservative

#[/Profile]

#

#[Profile]

#name=Conservative Low

#minfreq=0%

#maxfreq=66%

#policy=conservative

#[/Profile]

##

# Basic states

##

# when AC use performance mode

[Rule]

name=AC Rule

ac=on                    # (on/off)

profile=Performance High

[/Rule]

# conservative mode when not AC

[Rule]

name=AC Off - Low Battery

ac=off                   # (on/off)

battery_interval=0-30

#exec_post=echo 5 > /proc/acpi/sony/brightness

profile=Powersave Low

[/Rule]

# conservative mode when not AC

[Rule]

name=AC Off - Medium Battery

ac=off                   # (on/off)

battery_interval=30-70

#exec_post=echo 5 > /proc/acpi/sony/brightness

profile=On Demand Low

[/Rule]

# stay in performance mode for the first minutes

[Rule]

name=AC Off - High Power

ac=off                   # (on/off)

battery_interval=70-100

#exec_post=echo 5 > /proc/acpi/sony/brightness

profile=On Demand High

[/Rule]

##

# Special Rules

##

# CPU Too hot!

[Rule]

name=CPU Too Hot

acpi_temperature=55-100

cpu_interval=50-100

profile=Performance Low

[/Rule]

# use performance mode if I'm watching a movie

# I don't care for batteries! 

# But don't heat too much.

[Rule]

name=Movie Watcher

programs=xine,mplayer,gmplayer

battery_interval=0-100

acpi_temperature=0-60

cpu_interval=0-100

profile=Performance High

[/Rule]

----------

## Laitr Keiows

Сходи на gentoo-wiki.com.

Если не забуду вечерком напишу как у меня сделано, тоже ноут асус.

----------

## Pixode

Забыл  :Wink: 

----------

## Laitr Keiows

Тебе нужно собрать в ядре следующее:

```
  [*] CPU Frequency scaling                                                               

  <*>   'conservative' cpufreq governor                      

  <*>   Intel Enhanced SpeedStep
```

Потом:

emerge -va sys-power/cpufrequtils

и cpufreq-set -g conservative

Все!

----------

## vithar

 *Laitr Keiows wrote:*   

> Тебе нужно собрать в ядре следующее:
> 
> ```
>   [*] CPU Frequency scaling                                                               
> 
> ...

 

(если я правильно помню) Мне хватило только в ядре собрать поддержку и добавить строчку 

```
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
```

 в /etc/conf.d/local.start, на ноуте с Pentium M всё само заработало.

----------

## Pixode

Пока не получается, привожу свои наблюдения.

по поводу echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

значение в том файле формируется динамически исходя из выбора режима cpufreq-set -g conservative

какой режим выбираем такой туда и записывается.

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

постоянно на performance.

Частота меняется только если я отключаю шнур питания, и я заметил при генерации ядра, и установки драйверов на видео она тоже менялась, тока падала  :Smile: 

То есть, что радует хоть и не правильно но работают получается изменения.

По поводу ядра я когда c ACPI игрался то вроде все выставил, сейчас такие значения.

serega@kid /etc/kernels $ less kernel-config-x86-2.6.18-gentoo-r6 | grep CPU 

# CONFIG_CPUSETS is not set

CONFIG_NR_CPUS=8

# CONFIG_X86_CPUID is not set

CONFIG_SPLIT_PTLOCK_CPUS=4

# CONFIG_HOTPLUG_CPU is not set

# CPU Frequency scaling

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

# CONFIG_CPU_FREQ_DEBUG is not set

# CONFIG_CPU_FREQ_STAT is not set

# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set

CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y

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

# CPUFreq processor drivers

CONFIG_X86_ACPI_CPUFREQ=y

CONFIG_X86_CPUFREQ_NFORCE2=m

# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set

serega@kid /etc/kernels $ 

Куда двигать дальше?

----------

## Laitr Keiows

 *Pixode wrote:*   

> Куда двигать дальше?

 

Я писал что нужно вкомпилировать в ядро вот это:

CONFIG_X86_SPEEDSTEP_CENTRINO=y

Сделано ли это?

 *Quote:*   

> при перезагрузке режим сбрасывается 

 

У всех так, будь спокоен  :Smile: 

----------

## Pixode

serega@kid /etc/kernels $ less kernel-config-x86-2.6.18-gentoo-r6 | grep CENTRINO

CONFIG_X86_SPEEDSTEP_CENTRINO=y

CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

# CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE is not set

serega@kid /etc/kernels $

----------

## Laitr Keiows

 *Pixode wrote:*   

> serega@kid /etc/kernels $ less kernel-config-x86-2.6.18-gentoo-r6 | grep CENTRINO

 

Отлично. Теперь ты делаешь cpufreq-set -g conservative и частота твоего процессора начинает меняться автоматически в зависимости от нагрузки.

----------

## Pixode

 *Laitr Keiows wrote:*   

>  *Pixode wrote:*   serega@kid /etc/kernels $ less kernel-config-x86-2.6.18-gentoo-r6 | grep CENTRINO 
> 
> Отлично. Теперь ты делаешь cpufreq-set -g conservative и частота твоего процессора начинает меняться автоматически в зависимости от нагрузки.

 

Ну я так и  сделал при первом Вашем ответе, но монитор частоты изменения процессора показывает и выбранный режим в данном случае conservative, но частота 

как есть 2.00 GHz  так и остаётся, зачем ему такая частота в данный момент когда я сижу щас под  firefox  и ничем не нагружаю машинку!

serega@kid /etc/kernels $ cpufreq-info

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: centrino

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 798 MHz - 2.00 GHz

  available frequency steps: 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.33 GHz, 1.06 GHz, 798 MHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 2.00 GHz and 2.00 GHz.

                  The governor "conservative" may decide which speed to use

                  within this range.

  current CPU frequency is 2.00 GHz.

serega@kid /etc/kernels $ 

Тут какая то непонятка ->  current policy: frequency should be within 2.00 GHz and 2.00 GHz.

Может это CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y  лезет не в своё дело?

----------

## Laitr Keiows

 *Pixode wrote:*   

> available frequency steps: 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.33 GHz, 1.06 GHz, 798 MHz 

 

Сделай cpufreq-set -f 798

А потом покажи cpufreq-info

Если не сработает покажи cat /proc/cpuinfo

----------

## Pixode

kid ~ # cpufreq-set -f 798 

kid ~ # cpufreq-info 

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: centrino

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 798 MHz - 2.00 GHz

  available frequency steps: 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 2.00 GHz, 1.60 GHz, 1.33 GHz, 1.06 GHz, 798 MHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 2.00 GHz and 2.00 GHz.

                  The governor "userspace" may decide which speed to use

                  within this range.

  current CPU frequency is 2.00 GHz (asserted by call to hardware).

kid ~ # cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Pentium(R) M processor 2.00GHz

stepping        : 8

cpu MHz         : 1995.000

cache size      : 2048 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 2

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up est tm2

bogomips        : 3992.57

kid ~ #

----------

## Laitr Keiows

Сpufreqd выключен?

Попробуй обновить ядро.

----------

## Pixode

 *Laitr Keiows wrote:*   

> Сpufreqd выключен?
> 
> Попробуй обновить ядро.

 

Сpufreqd  - был включён, выключил тоже самое, а должен был быть выключен?

Если демон выключаю, то при отключении питания частота не падает, значит что то у меня всё же работает.

Попробуй обновить ядро, пересобрать с теми же параметрами? не совсем понял в чём смысл опереции.

----------

