V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
villivateur
V2EX  ›  Linux

Linux 系统崩溃卡死,但没有任何 dump 输出,该如何排查?

  •  
  •   villivateur · 26 天前 · 1659 次点击

    设备:rk3568 平台,Linux 4.19 ,Ubuntu 20.04

    崩溃概率:偶现。

    崩溃的时候系统彻底卡死,调试串口也没有任何输出,连 panic 都不打印。

    我尝试 echo c > /proc/sysrq-trigger ,发现调试串口是有调用栈打印的。我也启用了 nmi_watchdog,在手动 echo c > /proc/sysrq-trigger 的时候看门狗能正常启动,但卡死的时候看门狗也失效了。

    这个内核是我自己改过的,我该如何排查:

    1. 这个问题是硬件问题还是软件问题导致的?
    2. 如果是软件问题,我该如何 debug ?
    17 条回复    2024-10-13 17:56:21 +08:00
    XDiLa
        1
    XDiLa  
       26 天前
    想把发弄个日志收集工具 把 kern.log syslog dmesg 推送出去,等到到时候服务器夯住了就可以分析了
    villivateur
        2
    villivateur  
    OP
       26 天前
    @XDiLa 连调试串口都不打印东西了,日志肯定也没有啊,主要就是死机之前啥异常都没有,突然就死了
    CapNemo
        3
    CapNemo  
       26 天前
    一个想法是往地址线上挂个示波器,看看还有没有在执行任何指令
    leonshaw
        4
    leonshaw  
       26 天前
    内存够的话把 kdump 开起来
    villivateur
        5
    villivateur  
    OP
       26 天前
    @leonshaw kdump 似乎只能分析 kernel-panic 一类的问题,我这个是彻底死掉了,切换内核的动作理论上也无法完成
    villivateur
        6
    villivateur  
    OP
       26 天前
    @CapNemo 哈哈,这确实也是个没有办法的办法了
    LXGMAX
        7
    LXGMAX  
       26 天前
    rk 啊,应该是供电不够了
    villivateur
        8
    villivateur  
    OP
       26 天前
    @LXGMAX 你是有经验吗?
    LXGMAX
        9
    LXGMAX  
       26 天前
    @villivateur 我做 rk 方案的
    villivateur
        10
    villivateur  
    OP
       26 天前
    @LXGMAX 供电不足是因为供电芯片的 bug 导致电压抖动,还是说在高负载情况下电压持续性偏低?因为我的设备在轻载情况下也会死机。
    myxvhgiile
        11
    myxvhgiile  
       26 天前
    既然是你改过的内核,那首先应该尝试还原修改看看能不能复现吧,如果还原后就不会复现了就从你修改的部分入手去调试呗。除此以外我能想到就是 jlink 连上尝试调试一下了,既然内核是你自己编译的,gdb 调试一下还是很有可能看到程序具体是跑到哪里了的。
    LXGMAX
        12
    LXGMAX  
       26 天前
    @villivateur 检查下硬件,DDR 那块,或者是不是虚焊了
    Geekerstar
        13
    Geekerstar  
       26 天前
    有没有显卡,装显卡驱动没有?
    Geekerstar
        14
    Geekerstar  
       26 天前
    @Geekerstar rk3568 平台是开发板啊,当我没说
    villivateur
        15
    villivateur  
    OP
       26 天前
    @LXGMAX 应该不是生产制造的问题,我这边有三个样品,都一样会死
    updateing
        16
    updateing  
       25 天前 via Android
    卡死的时候从串口输入 SysRq ( Break + 字母键,不是 shell echo )还有反应吗?如果没有,那可能是在硬中断关闭时死循环或者挂掉了。有的话就可以通过 SysRq 看到很多信息。如果这个板子支持 JTAG 之类的更底层的调试手段也可以试试。
    txx
        17
    txx  
       25 天前 via iPhone
    我最近遇到了类似的问题,ubuntu 直接卡住完全没有任何日志。

    我之前以为是我 pytorch 炼丹过热导致的,后来发现也不是这么回事,因为我做并发下载测试数据的时候也挂了,但是温度很低。实在忍不了了就去了趟电脑城找人查一下是不是主板硬件故障。

    结果做完 memtest 发现,是 DDR5 四通道有问题,两组双通道套条 单独插就一点问题没有,四条全插上就在内存压力测试的时候偶发错误。

    现在拆掉了一对之后什么事都没了,除了偶尔 oom…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5085 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:13 · PVG 09:13 · LAX 17:13 · JFK 20:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.