Перейти к содержимому

Общие настройки системы

AMD Ryzen

Драйвер AMD P-State


amd-pstate - это драйвер масштабирования производительности процессоров AMD, который представляет новый механизм управления частотой процессора в современных сериях APU и CPU AMD в ядре Linux. Новый механизм основан на Collaborative Processor Performance Control (CPPC), который обеспечивает более точное управление частотой, чем устаревшие аппаратные P-States ACPI. Современные платформы CPU/APU AMD используют драйвер ACPI P-states для управления частотой и тактовой частотой CPU с переключением только в 3 P-states. CPPC заменяет элементы управления ACPI P-states и обеспечивает гибкий интерфейс с низкой задержкой для ядра Linux, позволяющий напрямую передавать подсказки о производительности оборудованию.

Ниже приведены 3 режима работы драйвера amd-pstate и записи командной строки ядра для их использования при загрузке:

  • AMD P-State (неавтономный режим): amd-pstate=passive
  • AMD P-State Guided (управляемый автономный режим): amd-pstate=guided
  • AMD P-State EPP (автономный режим): amd-pstate=active

Вы также можете переключаться между режимами работы во время выполнения, чтобы протестировать параметры:

  • Автономный режим: платформа учитывает только значения, установленные для минимальной производительности, максимальной производительности и предпочтения энергопотребления.

    Окно терминала
    echo active | sudo tee /sys/devices/system/cpu/amd_pstate/status
  • Режим с управляемой автономией: платформа устанавливает рабочий уровень производительности в соответствии с текущей рабочей нагрузкой и в пределах, установленных ОС через регистры минимальной и максимальной производительности.

    Окно терминала
    echo guided | sudo tee /sys/devices/system/cpu/amd_pstate/status
  • Неавтономный режим: платформа получает желаемый уровень производительности от ОС непосредственно через регистр желаемой производительности.

    Окно терминала
    echo passive | sudo tee /sys/devices/system/cpu/amd_pstate/status

Для получения дополнительной информации:

Настройка AMD P-State EPP

Для использования P-State EPP доступны два регулятора масштабирования частоты процессора: powersave и performance. Рекомендуется использовать регулятор powersave и установить предпочтение.

  • Установить регулятор powersave: sudo cpupower frequency-set -g powersave
  • Установить регулятор performance: sudo cpupower frequency-set -g performance

Чтобы установить предпочтение, выполните следующую команду с желаемым предпочтением:

Окно терминала
echo power | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference

Доступные предпочтения: performance, power, balance_power, balance_performance

Бенчмарки для каждого предпочтения можно найти здесь: https://lore.kernel.org/lkml/[email protected]/

Оптимизатор AMD 3D V-Cache

AMD опубликовала патч для оптимизации планирования кэша на двухчиповых процессорах 3D, таких как 7950X3D и 7900X3D. В BIOS в опции CPPC необходимо установить значение “Driver”. Это позволит переопределить используемый режим с помощью sysfs.

Существует два режима:

  1. Частота
  2. Кэш

Если установлено значение cache, драйвер попытается сначала поместить задачи на CCD с более высоким кэшем, что в основном выгодно в играх. Опция frequency попытается поместить задачи на второй CCD, который имеет более высокую частоту, чем CCD с 3D-кэшем.

Частота (по умолчанию):

Окно терминала
echo frequency | sudo tee /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

Кэш:

Окно терминала
echo cache | sudo tee /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

После изменения режимов статистика предпочтительных ядер amd должна предоставить другой рейтинг. Вы можете прочитать его с помощью:

Окно терминала
grep -v /sys/devices/system/cpu/cpu*/cpufreq/amd_pstate_prefcore_ranking

Повышение производительности ядра AMD P-State

AMD Core Performance Boost, также известный как AMD Turbo Core, - это технология динамического масштабирования частоты от AMD, которая позволяет процессору динамически регулировать и контролировать рабочую частоту процессора в определенных версиях своих процессоров, что позволяет повысить производительность при необходимости, сохраняя при этом более низкие параметры мощности и температуры во время нормальной работы.

Начиная с linux-cachyos 6.9.6, ядро пропатчено с поддержкой CPB для драйверов p-state от AMD (включая passive, active и guided). Пользователи могут изменять состояние повышения каждого процессора через файл boost sysfs /sys/devices/system/cpu/cpuX/cpufreq/boost (X относится к номеру ядра, например, cpu0 - первое ядро, cpu1 - второе и т.д.).

Окно терминала
echo 0 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/boost # Отключить повышение для всех ядер
lscpu -ae # Это показывает, что AMD CPB отключен глобально
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
0 0 0 0 0:0:0:0 yes 3301.0000 400.0000 1212.8250
1 0 0 0 0:0:0:0 yes 3301.0000 400.0000 1394.2180
2 0 0 1 1:1:1:0 yes 3301.0000 400.0000 1204.4600
echo 1 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/boost # Включает повышение на cpu0
lscpu -ae
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
0 0 0 0 0:0:0:0 yes 4564.0000 400.0000 1393.2380
1 0 0 0 0:0:0:0 yes 3301.0000 400.0000 400.0000
2 0 0 1 1:1:1:0 yes 3301.0000 400.0000 2157.8469

CachyOS также предоставляет версию power-profiles-daemon, которая переносит коммит, который включает поддержку AMD CPB. AMD CPB будет отключен, если используется профиль powersave, и будет включен в balanced или performance.

Для получения дополнительной информации см.:

Возможные улучшения производительности

Отключение Split Lock Mitigate

В некоторых случаях split lock mitigate может замедлить производительность в некоторых приложениях и играх. Доступен патч для отключения его через sysctl.

  • Отключить split lock mitigate: sudo sysctl kernel.split_lock_mitigate=0
  • Включить split lock mitigate: sudo sysctl kernel.split_lock_mitigate=1

Чтобы изменение было постоянным, добавьте следующую строку в /etc/sysctl.d/99-splitlock.conf:

kernel.split_lock_mitigate=0

Для получения дополнительной информации о split lock см.:

Настройки энергосбережения

Включить RCU Lazy

RCU Lazy помогает снизить энергопотребление в режиме простоя или при небольшой нагрузке на систему. Это может быть полезно для ноутбуков и портативных устройств. Улучшение составляет от 5 до 10% с точки зрения экономии энергии. Однако важно отметить, что эта функция энергосбережения может привести к незначительному снижению производительности в зависимости от сценария. Ядро linux-cachyos-deckify будет иметь эту опцию включенной по умолчанию, поскольку экономия энергии является ключевой и необходимой для этих устройств.

Чтобы включить RCU Lazy, добавьте следующий параметр в список параметров командной строки ядра cmdline:

rcutree.enable_rcu_lazy=1

Обходные пути NVIDIA

Отключение бэкенда SDDM Wayland

Хотя это хороший шаг вперед, он может вызвать некоторые неудобства, такие как нарушение поддержки разгона с помощью nvidia-settings или несовместимость со старыми графическими процессорами, которые испытывают трудности в Wayland.

Чтобы отменить это изменение. Удалите cachyos-kde-settings:

Окно терминала
sudo pacman -R cachyos-kde-settings

Прошивка NVIDIA GSP

Прошивка NVIDIA GSP может “в некоторых случаях” приводить к снижению производительности. Хотя драйвер NVIDIA 555.58.02 в значительной степени решил эту проблему, она может сохраняться на некоторых системах. Если вы сталкиваетесь с проблемами в KDE или плохой производительностью в некоторых случаях, вы можете отключить прошивку GSP с помощью следующего файла конфигурации: /etc/modprobe.d/nvidia-gsp.conf

options nvidia NVreg_EnableGpuFirmware=0

После создания файла выполните следующую команду:

Окно терминала
sudo mkinitcpio -P

Обычно рекомендуется тестировать прошивку GSP после каждой новой установки драйвера NVIDIA, поскольку она часто представляет полезные функции. Более того, NVIDIA в основном начала проводить QA-тестирование с использованием прошивки GSP.

Улучшения звука

Предоставление пользователю привилегий реального времени

Окно терминала
# Установите следующий пакет:
sudo pacman -S realtime-privileges
# Выполните следующую команду:
sudo gpasswd -a $USER realtime
# Перезагрузите систему.