# PowerNow (Русский)

PowerNow это технология используемая в некоторых процессорах AMD. Она динамически изменяет напряжение и скорость процессора с целью уменьшить энергопотребление и тепловыделение. Ее еще называют Cool'n'Quiet.

## Проверка поддержки PowerNow процессором

Если у Вас Intel Core 2:

    # modprobe acpi_cpufreq

Если более ранний процессор Intel, то команда возвратит:

    FATAL: Error inserting acpi_cpufreq (.../acpi-cpufreq.ko): No such device

тогда попробуйте:

    # modprobe p4-clockmod
    # modprobe speedstep-ich

для Pentium 4 или Pentium III-M, или более ранних.

Если у Вас AMD64 (или Sempron-k8):

    # modprobe powernow-k8

Если у Вас более старый процессор попробуйте модули `powernow-k7` или `powernow-k6`.

Если процессор не поддерживает PowerNow, или Cool'n'Quiet отключен в BIOS'e Вы увидите ошибку сразу после попытки загрузки модуля:

    FATAL: Error inserting powernow_k8 (/lib/modules/2.6.16-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko): No such device

Чтобы проверить поддерживает ли загруженное ядро PowerNow! напишите

    # dmesg | grep powernow

Вывод должен выглядеть примерно так (пример для AMD64 3400+ Clawhammer)

    powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.60.2)
    powernow-k8:    0 : fid 0x10 (2400 MHz), vid 0x2 (1500 mV)
    powernow-k8:    1 : fid 0xe (2200 MHz), vid 0x6 (1400 mV)
    powernow-k8:    2 : fid 0xc (2000 MHz), vid 0xa (1300 mV)
    powernow-k8:    3 : fid 0xa (1800 MHz), vid 0xe (1200 mV)
    powernow-k8:    4 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)

## Настройка PowerNow в ядре

Загрузите модули `powernow-k8`, `cpufreq_powersave`, `cpufreq_userspace`, `cpufreq_conservative`, `cpufreq_ondemand` и `freq_table` используя `modprobe`, добавьте их в массив `MODULES` в файле `/etc/rc.conf`.

Затем воспользуйтесь одной из команд для загрузки соответствующей политики энергосбережения статичное минимальное энергопотребление

1. echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

динамическая политика, повышающая энергопотребление по надобности (рекомендуется для мобильных устройств вроде ноутбуков)

1. echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

аналог предыдущей, но рекомендуется для настольных систем

1. echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

## Настройка Изменения Частоты из пространства пользователя (с использованием cpudyn)

    # pacman -S acpid cpudyn

Запуск cpudyn:

    # /etc/rc.d/cpudyn start

Добавьте `cpudyn` в массив `DAEMONS` в файле `/etc/rc.conf`.

Настройка cpudyn и acpid выходит за рамки этой статьи.

## Тестирование

Чтобы проверить работает ли изменение частоты, выполните:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

и сравните с:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

Также можно выполнить:

    cat /dev/urandom > /dev/null

в другой консоли, `scaling_cur_freq` должен сравняться с `scaling_max_freq`.

## Альтернатива: cpufrequtils

Это более простой и прямолинейный способ настройки. This is a much easier and straight-forward method of setting this up.

1. Установите cpufrequtils

    pacman -S cpufrequtils

2. Отредактируйте должным образом /etc/conf.d/cpufreq

    # доступные политики:
    #  ondemand, performance, powersave, conservative, userspace
    governor="ondemand"

    # возможные суффиксы: Hz, kHz (default), MHz, GHz, THz
    min_freq="2.25GHz"
    max_freq="3GHz"

Обязательно проверьте эти частоты, т.к. по умолчанию выставлены именно вышеприведенные.

3. Добавьте нужный модуль (напр. powernow, powernow-k6, или powernow-k8) в массив MODULES в файле /etc/rc.conf - по умолчанию они не загружаются.

4. Добавьте 'cpufreq' в массив DAEMONS в файле /etc/rc.conf чтобы он запускался во время загрузки. Чтобы запустить его прямо сейчас:

    /etc/rc.d/cpufreq start

Categories:

- Power management (Русский)
- Русский