Как настроить систему Debian (фокус на 2D или консоль / сервер) с APU Turbo Core APU для максимальной эффективности использования энергии и вычислительной мощности?

Я планирую установить систему AMD APU с помощью Debian, но я не могу найти подсказки о том, как добиться максимальной энергоэффективности и успешного использования Turbo Core. В частности, Debian Wiki HowTo для масштабирования частоты процессора не очень помогает системам AMD.

Как мне настроить мою систему Debian для развертывания функций AMD APU?

    основы

    С AMD APU представляют интерес следующие факторы.

    • Если ваша система будет использовать только консольный вывод, вам понадобится драйвер radeon для него. Активная консоль, обработанная драйвером radeon , сэкономит 8 Вт по сравнению с как резервным драйвером, так и fglrx на A10-6700 (Richland). Если консоль простаивает, radeon сохранит дополнительно 2 Вт.

    • Функция Turbo Core AMD APU должна быть включена так или иначе. Вопреки тому, что, по мнению некоторых людей, Turbo Core (который после включения является автономной функцией APU) отлично работает на уровне APU и имеет разумные варианты использования. Но либо драйвер radeon либо fglrx должен присутствовать, и в обоих случаях необходимо соблюдать осторожность.

    Если вы считаете, что стоит снизить энергопотребление в режиме ожидания полной системы A10-6700 Richland (включая вентиляторы, оперативную память DDR3-1866 и один SSD) от 40 Вт до 30 Вт или если вы хотите иметь полную скорость Turbo Core для дольше (доступная частота Turbo Core основана на общем потреблении мощности чипа, включая графику, а также на уровне температуры), тогда вам следует позаботиться.

    Все вышеприведенные утверждения относятся к моему прежнему анализу. Как настроить Linux для полной поддержки управления питанием AMD APU: Turbo Core, Cool'n'Quiet, Dynamic Power Management?

    Помните, что вы не можете полагаться на информацию из /proc и /sys относительно фактических частот ваших ядер APU AMD. Чтобы быть в безопасности, используйте cpufreq-aperf (или cpupower frequency-info или cpupower monitor ) после modprobe msr .

    К сожалению, вплоть до Debian Jessie 8.2 вы не получите все из AMD APU с установкой Debian из коробки .

    Debian Вариант 1 : fglrx Diver

    Драйвер AMD fglrx от Linux позволяет Turbo Core, который не должен восприниматься как сюжет.

    Однако, хотя APU показывают очень разумное и полезное поведение Turbo Core со свободным драйвером radeon Linux, это не обязательно, когда вы используете fglrx . Кажется, что драйвер fglrx манипулирует fglrx ядра процессов. Возможно, он даже заменяет микрокод в APU. Но независимо от того, как fglrx работает на уровне детализации, вы получите следующее:

    • На APU с четырьмя ядрами, если у вас есть два процесса, требующие полной производительности, Linux запустит их на двух отдельных модулях APU. (Например, A10-6700 имеет два модуля с двумя ядрами каждый, и хотя каждое ядро ​​имеет небольшой индивидуальный кэш L3, оба ядра в одном модуле совместно используют один кэш L2.) Эта начальная настройка даст вам максимальную производительность, а также высокую энергопотребление. (В этом примере потребляемая мощность A10-6700 увеличится на 70 Вт.)

    • Но fglrx переместит один из каналов на второй ядро ​​другого модуля, если APU станет слишком горячим. (Это уменьшит энергопотребление A10-6700 на 25 Вт по сравнению с использованием обоих модулей APU.) Предположительно, это демонстрирует высокую частоту ядра в течение более длительного времени. Тем не менее, перенесенный процесс, скорее всего, эффективно остановится на мгновение из-за того, что кэш L2 не имеет каких-либо требуемых данных под рукой, и обычно производительность после миграции будет ниже из-за общего кэша L2.

    • Поскольку fglrx не предпринимает никаких активных мер для небольшого уменьшения частоты ядра до того, как будут достигнуты пределы APU, это, следовательно, резко сократит скорость ядра, если процессы будут работать в течение более длительного времени. Это означает, что после всплеска вам придется жить с более низкими частотами, пока ваш APU не остынет.

    По сравнению с показаниями частоты ядра, поведение fglrx несколько сомнительно, на мой взгляд; Я считаю, что вы получите лучшую общую производительность с radeon . Но если вы хотите использовать 2D / 3D-систему и можете найти это крутое поведение масштабирования частоты, вы можете выбрать fglrx вплоть до Debian 7 и включая его . Вы можете дополнительно выбрать fglrx для Debian 8, если вы не собираетесь использовать рабочий стол GNOME .

    Debian Вариант 2: Драйвер radeon

    Как уже упоминалось, драйвер radeon предлагает гораздо более низкое энергопотребление в режиме консоли и намного более плавный Turbo Core. Цена, которую вам придется заплатить, – это худшая поддержка 3D.

    • Debian 6 (Squeeze): даже если Linux 3.2 доступен как backport, драйвер radeon не будет обрабатывать вашу функцию Turbo Core APU.

    • Debian 7 (Wheezy): Linux 3.16 доступен в качестве backport. Обновите до Linux 3.16 (если другие требования не предотвратят его) и см. Ниже.

    • Debian 8 (Jessie): на основе Linux 3.16. Смотри ниже.

    Флаг, ответственный за обработку Turbo Core, называется bapm ; он находится в файле trinity_dpm.c драйвера radeon . До Linux 3.16 он всегда был отключен из-за проблем с стабильностью с некоторыми конфигурациями. Начиная с Linux 3.16, были запланированы два изменения:

    • Значение для bapm может быть представлено как параметр модуля (см. Здесь ).

    • Значение bapm устанавливается по умолчанию для систем Kaveri, Kabini и настольных систем Trinity, Richland (см. Здесь ), в результате чего включено Turbo Core.

    Это означает, что с текущими ядрами Linux вы, скорее всего, получите лучшее значение (Turbo Core, энергоэффективная консоль) из коробки (это, например, верно для текущих установщиков ArchLinux).

    К моему удивлению, даже с установщиком Debian Jessie 8.2 вам нужно позаботиться о двух вещах :

    • Следуя своим политикам, Debian по умолчанию не предоставит требуемый микрокод. Вы захотите его предоставить: добавьте незанятые и вносите соответствующие записи в /etc/apt/sources.list и запускайте sudo apt-get update а также sudo apt-get install firmware-linux-nonfree

    • Интересно отметить, что, несмотря на 3.16 по умолчанию, Turbo Core не работает в той же системе, в которой успешно завершился недавний ArchLinux. Возможно, что ядро ​​Debian 3.16 слишком устарело, чтобы включить настройки по умолчанию или что патч Debian для изоляции микрокода имеет некоторый побочный эффект. В любом случае, Turbo Core можно включить для Debian Jessie в присутствии микрокода, bapm значение bapm во время загрузки: добавьте radeon.bapm=1 в значение GRUB_CMDLINE_LINUX_DEFAULT в /etc/default/grub и запустите sudo update-grub

    После этих двух изменений Turbo Core и низкое энергопотребление консоли работали для меня как шарм.