参考连接:
一. 基础信息
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,那么这将是一个重要的提示。