PowerNow (Русский)

Tango-two-arrows.png

Tango-two-arrows.png

Эта статья или раздел является кандидатом на объединение с CPU frequency scaling (Русский).

Причина: to match English pages (обсуждение: Talk:PowerNow (Русский)#)

Tango-preferences-desktop-locale.png

Tango-preferences-desktop-locale.png

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Tango-dialog-warning.png

Tango-dialog-warning.png

Информация в этой статье или разделе устарела

Причина: rc.d references. Needs update, see Systemd (Русский). (Обсудить)

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