zzqayy
发布于 2026-07-29 / 0 阅读
0
0

linux下amd相关知识

参考连接:

一. 基础信息

1.1 查看内核显卡名称

find /sys/class/drm/ -regextype awk -regex '.+/card[0-9]+' -printf '%f\n'

1.2 查看内核加载驱动

lspci -k -d ::03xx

1.3 查看各种显卡配置

1.3.1 检查GPU的P-states(电源配置相关信息)

sudo cat /sys/class/drm/card1/device/pp_od_clk_voltage

1.3.2 监控GPU

watch -n 0.5 sudo cat /sys/kernel/debug/dri/1/amdgpu_pm_info

1.3.3 检查GPU利用率

sudo cat /sys/class/drm/card1/device/gpu_busy_percent

1.3.4 检查GPU频率

sudo cat /sys/class/drm/card1/device/pp_dpm_sclk

1.3.5 检查GPU温度

sudo cat /sys/class/drm/card1/device/hwmon/hwmon*/temp1_input

1.3.6 检查显存频率

sudo cat /sys/class/drm/card1/device/pp_dpm_mclk

1.3.7 检查显存占用

sudo cat /sys/class/drm/card1/device/mem_info_vram_used

1.3.8 检查显存大小

sudo cat /sys/class/drm/card1/device/mem_info_vram_total

二. 配置修改

2.1 性能等级修改

  • auto: 驱动根据当前情况动态选择最佳电源配置。
  • low: 时钟频率强制设置为最低功耗状态。
  • high: 时钟频率强制设置为最高功耗状态。
  • manual: 用户可以为不同的时钟频率区间手动调整功耗状态(用于#电源配置)。
  • profile_standard, profile_min_sclk, profile_min_mclk, profile_peak: 时钟频率和功耗门控被关闭,根据用户需求时钟频率可设置为不同配置。该模式推荐用于特定工作负载。
echo "low" > /sys/class/drm/card1/device/power_dpm_force_performance_level

三.相关问题

3.1 mesa和amdgpu导致核显显示异常,频繁崩溃

这个问题可能是安装了amd-dkms 和 rocm导致的,安装amd驱动的时候添加 --no-dkms,不安装rocm即可

3.1.1 尝试使用最新的mesa

Valve 的一名工作人员维护mesa

最新mesa

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update && sudo apt upgrade

稳定的mesa

sudo add-apt-repository ppa:kisak/turtle
sudo apt update && sudo apt upgrade

卸载

sudo apt-get install ppa-purge
sudo ppa-purge -d noble ppa:kisak/turtle

最新内核

sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update && sudo apt-get install -y mainline

3.2 休眠后崩溃

这个问题可能是 nvme硬盘导致的问题,具体查看解决方案: 将硬盘永远不处于P4状态(深度省电状态),具体操作步骤如下:

3.2.1 查看硬盘是否支持电源状态切换
sudo apt-get install smartmontools
sudo smartctl -c /dev/nvme0n1 | grep -A7 "Supported Power States"

St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     6.50W       -        -    0  0  0  0        0       0
 1 +     5.80W       -        -    1  1  1  1        0       0
 2 +     3.60W       -        -    2  2  2  2        0       0
 3 -   0.0500W       -        -    3  3  3  3     5000   10000
 4 -   0.0025W       -        -    4  4  4  4     5000   41000
3.2.2 设置内核参数 nvme_core.default_ps_max_latency_us

选择上面Ex_Lat(maximum exit latency 最大退出延迟),设置参数

sudo vim /etc/default/grub

# 修改 GRUB_CMDLINE_LINUX_DEFAULT 的参数,添加 nvme_core.default_ps_max_latency_us 变量

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=10000"

3.3 AMD相关DEBUG查看配置

Can you post the output of AMD_DEBUG=info please?你能把 AMD_DEBUG=info 的输出贴出来吗?

If the bug happens regularly, you may want to try adding AMD_DEBUG=dcc in /etc/environment (and then reboot). If the bug cannot be reproduced anymore after this change, then this would be an important hint.如果错误经常发生,你可能想尝试在 /etc/environment 中添加 AMD_DEBUG=dcc(然后重启)。如果在此更改后无法再重现该 bug,那么这将是一个重要的提示。

评论