Общие настройки системы
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
Для получения дополнительной информации:
- https://www.kernel.org/doc/html/v6.9/admin-guide/pm/amd-pstate.html
- https://lore.kernel.org/lkml/[email protected]/
- https://lore.kernel.org/lkml/[email protected]/
Настройка 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.
Существует два режима:
- Частота
- Кэш
Если установлено значение 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 -aeCPU 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
.
Для получения дополнительной информации см.:
- https://lore.kernel.org/linux-pm/[email protected]/T/#m4a0c8917ea8fb033504055bd61512c80c85410c8
- https://lore.kernel.org/linux-pm/[email protected]/
Возможные улучшения производительности
Отключение 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 см.:
- https://www.phoronix.com/news/Linux-Splitlock-Hurts-Gaming
- https://github.com/doitsujin/dxvk/issues/2938
Настройки энергосбережения
Включить 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# Перезагрузите систему.