You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu系统每日崩溃(主板报Q-code 15)及休眠唤醒图形异常问题排查求助

Ubuntu系统每日崩溃(主板报Q-code 15)及休眠唤醒图形异常问题排查求助

问题描述

我这几个月刚组装并开始使用Ubuntu系统,最近被频繁的无预警硬重启搞疯了——几乎每天都会毫无征兆地重启,每次都得重新登录、打开所有程序。重启的时候主板会显示Q-code 15,查了下说是“内存初始化”相关的错误。

另外,如果电脑关机好几天,从休眠恢复后经常会出现图形问题:上次出差回来唤醒电脑,其中一个显示器每隔几秒就闪一次,大概折腾了一小时后,系统又像往常一样崩溃了。

我的硬件和系统信息:

  • OS: Ubuntu 24.10(问题在24.04.1时就开始出现了)
  • 主板: ASUS ROG STRIX X670E-E
  • CPU: AMD Ryzen 9 7950X
  • 显卡: AMD Radeon RX 7900 XT
  • 内存: 2x G.SKILL Trident Z5 Neo(单条32GB)
  • 硬盘: 2x Samsung SSD 970 Evo Plus(单条2TB)

想问问有没有人遇到过类似的已知问题?接下来我该怎么排查?朋友建议我重新插拔内存,但我想先听听更系统的建议...


我的排查建议

兄弟,你的情况我之前帮朋友处理过类似的AMD平台Ubuntu崩溃问题,给你梳理几个优先级从高到低的排查步骤,一步步来:

一、先啃Q-code 15指向的内存核心问题

Q-code 15直接关联内存初始化失败,这大概率是频繁崩溃的主因,先把这块钉死:

  1. 跑内存硬件检测
    先别着急动手插拔,先跑Ubuntu自带的内存测试。重启电脑,在GRUB菜单里选「Memory test (memtest86+)」,让它至少跑完整1轮(能跑2-3轮更稳妥)。如果检测出任何错误,基本实锤是内存本身故障或者插槽兼容性问题。
  2. 重新插拔内存(带静电防护)
    关机断电,拔掉电源线,按住开机键10秒放掉主板静电。然后把内存拔下来,用干净的橡皮擦擦金手指(别用手直接摸金手指,避免静电损坏),插回插槽时要对准卡扣,听到两边都咔哒响才算插紧。
    另外可以试试单条内存单独使用3-4天,看还会不会崩溃——这样能排查是不是其中一条内存坏了,或者某一个内存插槽有问题。
  3. BIOS里调整内存参数
    开机按Del/F2进BIOS,看看是不是开了EXPO超频(AMD平台的内存超频技术,你的Trident Z5 Neo支持这个)。很多时候,自动的EXPO预设参数和Ubuntu新内核的兼容性不太好,会触发内存初始化失败。
    先把EXPO关掉,用JEDEC标准内存参数跑几天,如果崩溃消失,那就是EXPO的锅。之后可以尝试手动调低内存频率(比如从6000MHz降到5600MHz),或者放宽一点小参,别用默认的EXPO预设。

二、排查休眠唤醒的图形异常(可能和内存/驱动联动)

你的图形闪烁后触发崩溃,大概率和内存问题相关,也可能是AMD显卡驱动的兼容性bug:

  1. 先把系统和驱动更到最新
    你已经用24.10了,先确保系统是完全更新的状态,打开终端跑这两个命令:
    sudo apt update && sudo apt full-upgrade
    
    升级完重启,AMD的开源驱动是内核自带的,新内核往往会修复很多显卡和内存交互的bug,说不定就能解决闪烁问题。
  2. 暂时禁用休眠,隔离问题
    先把休眠功能关掉,看看只日常使用的情况下还会不会崩溃——这样能排除休眠唤醒时的内存泄漏或者驱动冲突。跑这个命令禁用休眠:
    sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    
    如果禁用后不再崩溃,那问题就锁定在休眠唤醒流程上,后续可以针对性调整驱动参数。
  3. 扒系统日志找崩溃线索
    每次崩溃重启后,打开终端用journalctl查上一次启动的错误日志,重点找内存、显卡相关的报错:
    journalctl -b -1 -p err
    
    看看有没有Out of memory(内存耗尽)、amdgpu相关的错误信息,这些能帮你精准定位到底是内存还是显卡的问题。

三、最后排查其他硬件可能性

如果上面两步都没解决,再考虑其他硬件:

  1. 检查电源供电
    你的配置都是高端件,电源额定功率至少要850W以上的金牌认证。如果电源功率不够或者质量差,会导致随机的硬件供电不稳定,触发崩溃。可以检查电源的所有接口有没有插紧,要是有备用电源的话,换一个试试。
  2. 监控CPU和显卡温度
    虽然Q-code 15不是温度问题,但过热也会导致系统不稳定。先装个温度监控工具:
    sudo apt install lm-sensors
    
    然后跑sensors命令看实时温度,日常使用时CPU温度别超过85℃,显卡别超过90℃。如果温度过高,检查散热器是不是没装紧,硅脂有没有涂均匀。

备注:内容来源于stack exchange,提问作者Beau

火山引擎 最新活动