ALRCMt 2025-08-13 11:31 采纳率: 0%
浏览 6

PVE 报错nmi_backtrace_stall_check

我家里一台旧电脑装PVE系统,内装ubuntu和truenas,
CPU:R7 1700x

主板:Micro-Star MS-7A37/B350M MORTAR
BIOS 版本:1.O9 (2024-03-09)
pve版本8.4
内核:6.8.12-9-pve
运行过几个小时就直接崩溃

img

这是报错,怎么办

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-08-13 11:32
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    根据你提供的信息,PVE 报错 nmi_backtrace_stall_check_ 是一个与 NMI(Non-Maskable Interrupt) 相关的内核错误。这种错误通常表明系统在处理 NMI 时出现了异常,可能与硬件、驱动或内核配置有关。


    🔍 一、问题分析

    1. 报错内容:

    nmi_backtrace_stall_check_
    

    这个报错通常出现在以下几种情况:

    • 硬件问题(如 CPU、内存、主板)
    • 内核版本不兼容(特别是较新的内核与旧硬件)
    • 驱动程序冲突(如某些设备驱动导致 NMI 异常)
    • 超频或不稳定设置(如 CPU 超频、电压不稳定)

    🛠️ 二、解决方案

    ✅ 1. 检查硬件稳定性

    重点: 确保 CPU 和主板 的稳定性是首要任务。

    操作步骤:

    1. 进入 BIOS 设置

      • 检查是否有 超频设置(如 CPU 频率、电压、倍频等),尝试恢复默认设置。
      • 检查 电源管理设置,关闭所有节能选项。
      • 确认 内存频率 是否稳定(建议使用 DDR4 2400MHz 及以下)。
    2. 运行内存检测工具

      • 使用 memtest86+MemTest86 工具测试内存是否稳定。
      • 如果有错误,更换内存条。
    3. 检查 CPU 温度

      • 使用 sensorslm-sensors 检查 CPU 温度。
      • 如果温度过高,可能是散热不良或风扇故障。

    ✅ 2. 更新 PVE 内核和系统

    重点: PVE 8.4 使用的是较新的内核(6.8.12-9-pve),但 R7 1700x 是较老的 CPU,可能与新内核存在兼容性问题。

    操作步骤:

    1. 升级 PVE 到最新版本(如果未升级):

      apt update && apt full-upgrade
      
    2. 尝试降级内核(推荐使用 5.x 版本):

      • 安装旧内核(如 linux-image-5.15.0-101-generic):
        apt install linux-image-5.15.0-101-generic
        
      • 修改 GRUB 默认启动项:
        nano /etc/default/grub
        # 修改 GRUB_DEFAULT="0" 或 "Advanced options for Ubuntu"
        update-grub
        reboot
        
    3. 禁用某些内核模块(可选):

      • 编辑 /etc/default/grub 添加参数:
        GRUB_CMDLINE_LINUX="nomodeset"
        
      • 更新 GRUB:
        update-grub
        

    ✅ 3. 排查驱动或虚拟化问题

    重点: 由于你同时运行了 Ubuntu 和 TrueNAS,可能存在 KVM/QEMU 驱动冲突虚拟机资源争用

    操作步骤:

    1. 检查虚拟机配置

      • 确保没有过多的虚拟机同时运行。
      • 检查虚拟机是否分配了过多资源(如内存、CPU)。
    2. 禁用不必要的驱动

      • 在 PVE 中,进入 System > Kernel,选择一个更稳定的内核版本。
      • 尝试禁用某些设备驱动(如 USB 控制器、网卡驱动)。
    3. 查看日志文件

      • 查看 /var/log/kern.log/var/log/syslog,寻找更详细的错误信息。
      • 示例命令:
        grep -i nmi /var/log/kern.log
        

    ✅ 4. 修改内核参数(临时修复)

    重点: 如果无法解决根本问题,可以通过调整内核参数来规避 NMI 错误。

    修改 /etc/default/grub 文件:

    GRUB_CMDLINE_LINUX="nmi_watchdog=0"
    

    然后执行:

    update-grub
    reboot
    

    说明: nmi_watchdog=0 会禁用 NMI Watchdog,可能会减少崩溃频率,但不是根本解决方法。


    🧪 三、测试与验证

    | 步骤 | 说明 | |------|------| | 1 | 升级 PVE 并切换到稳定内核 | | 2 | 运行 memtest86+ 测试内存 | | 3 | 检查 CPU 温度和 BIOS 设置 | | 4 | 禁用不必要的虚拟机资源 | | 5 | 查看系统日志定位错误源头 |


    💡 四、建议

    • 不要长期使用过时内核,建议使用官方支持的 PVE 内核。
    • 如果问题持续,考虑更换主板或 CPU,尤其是如果你的主板是较老型号(如 B350M)且 CPU 是 R7 1700x,可能存在兼容性问题。
    • 若你使用的是 TrueNAS Core,建议将其迁移到独立服务器,避免与 PVE 共享同一台物理机。

    📌 五、总结

    | 问题 | 解决方案 | |------|----------| | NMI 错误 | 更新内核、检查硬件稳定性、禁用 NMI Watchdog | | 系统崩溃 | 检查内存、CPU 温度、BIOS 设置 | | 虚拟机冲突 | 减少虚拟机负载、优化资源配置 |


    如果你能提供完整的日志内容(如 /var/log/kern.log/var/log/syslog 的部分片段),我可以进一步帮助你分析具体原因。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月13日