跑cpu和内存压测时卡死,该如何定位

// 此模板仅供参考,如果不适用可以修改

问题描述

跑cpu和内存压测 还有pice误码时的fdm日志,测试时有卡死

[Hardware Error Log Number]: 5 Time: 2026-04-25 21:31:11
Collect: IMU(INT) Serial Number: 1 Collect Integrity: Validate(0X00)
Socket: CPU1 DIE: Nimbus0 Module: DISP_IO_MGMT
----------------------- ARER REPORTING ERROR -----------------------
Error Type:Uncorrected error, Signaled or Recoverable error (UER)
SERRCODE: 0X0E (Illegal Request)
IERRCODE: 0X0F (Illegal Request)
Arer_Status: Bit(31)ADDRValid Bit(26)MISCValid
MISC0: CE Counter: 127;
----------------------- ARER DISP REGISTER DUMP -----------------------
ERR_FR: 0X0000000000142AA2
ERR_CTL: 0X0000000000000515
ERR_STATUS: 0X00000000E4300F0E
ERR_ADDR: 0XE000004611800044
ERR_MISC0: 0X0000007F00000000
ERR_MISC1: 0X0000000000000000
ERR_MISC2: 0X0000000000000000
ERR_MISC3: 0X0000000000000000

[Hardware Error Log Number]: 6 Time: 2026-04-25 21:31:12
Collect: IMU(INT) Serial Number: 2 Collect Integrity: Validate(0X00)
Socket: CPU1 DIE: Nimbus0 Module: DISP_IO_MGMT
----------------------- ARER REPORTING ERROR -----------------------
Error Type:Uncorrected error, Signaled or Recoverable error (UER)
SERRCODE: 0X0E (Illegal Request)
IERRCODE: 0X0F (Illegal Request)
Arer_Status: Bit(31)ADDRValid Bit(26)MISCValid
MISC0: CE Counter: 127;
----------------------- ARER DISP REGISTER DUMP -----------------------
ERR_FR: 0X0000000000142AA2
ERR_CTL: 0X0000000000000515
ERR_STATUS: 0X00000000E4300F0E
ERR_ADDR: 0XE000004610800044
ERR_MISC0: 0X0000007F00000000
ERR_MISC1: 0X0000000000000000
ERR_MISC2: 0X0000000000000000
ERR_MISC3: 0X0000000000000000

[Hardware Error Log Number]: 7 Time: 2026-04-25 21:32:13
Collect: IMU(INT) Serial Number: 3 Collect Integrity: Validate(0X00)
Socket: CPU1 DIE: Nimbus0 Module: DISP_IO_MGMT
----------------------- ARER REPORTING ERROR -----------------------
Error Type:Uncorrected error, Signaled or Recoverable error (UER)
SERRCODE: 0X0E (Illegal Request)
IERRCODE: 0X0F (Illegal Request)
Arer_Status: Bit(31)ADDRValid Bit(26)MISCValid
MISC0: CE Counter: 127;
----------------------- ARER DISP REGISTER DUMP -----------------------
ERR_FR: 0X0000000000142AA2
ERR_CTL: 0X0000000000000515
ERR_STATUS: 0X00000000E4300F0E
ERR_ADDR: 0XE000004611800044
ERR_MISC0: 0X0000007F00000000
ERR_MISC1: 0X0000000000000000
ERR_MISC2: 0X0000000000000000
ERR_MISC3: 0X0000000000000000

[Hardware Error Log Number]: 8 Time: 2026-04-25 21:32:14
Collect: IMU(INT) Serial Number: 4 Collect Integrity: Validate(0X00)
Socket: CPU1 DIE: Nimbus0 Module: DISP_IO_MGMT
----------------------- ARER REPORTING ERROR -----------------------
Error Type:Uncorrected error, Signaled or Recoverable error (UER)
SERRCODE: 0X0E (Illegal Request)
IERRCODE: 0X0F (Illegal Request)
Arer_Status: Bit(31)ADDRValid Bit(26)MISCValid
MISC0: CE Counter: 127;
----------------------- ARER DISP REGISTER DUMP -----------------------
ERR_FR: 0X0000000000142AA2
ERR_CTL: 0X0000000000000515
ERR_STATUS: 0X00000000E4300F0E
ERR_ADDR: 0XE000004610800044
ERR_MISC0: 0X0000007F00000000
ERR_MISC1: 0X0000000000000000
ERR_MISC2: 0X0000000000000000
ERR_MISC3: 0X0000000000000000

[Hardware Error Log Number]: 9 Time: 2026-04-25 21:33:15
Collect: IMU(INT) Serial Number: 5 Collect Integrity: Validate(0X00)
Socket: CPU1 DIE: Nimbus0 Module: DISP_IO_MGMT
----------------------- ARER REPORTING ERROR -----------------------
Error Type:Uncorrected error, Signaled or Recoverable error (UER)
SERRCODE: 0X0E (Illegal Request)
IERRCODE: 0X0F (Illegal Request)
Arer_Status: Bit(31)ADDRValid Bit(26)MISCValid
MISC0: CE Counter: 127;
----------------------- ARER DISP REGISTER DUMP -----------------------
ERR_FR: 0X0000000000142AA2
ERR_CTL: 0X0000000000000515
ERR_STATUS: 0X00000000E4300F0E
ERR_ADDR: 0XE000004611800044
ERR_MISC0: 0X0000007F00000000
ERR_MISC1: 0X0000000000000000
ERR_MISC2: 0X0000000000000000
ERR_MISC3: 0X0000000000000000

以上是fdm日志,该如何进一步定位?

答案内容由AI生成,仅供参考:

:pushpin: 七、总结:故障根因推测与后续动作

:magnifying_glass_tilted_right: 最可能的根本原因:

某 PCIe 设备在高压测试中发出了非法内存访问请求(Illegal Request),经 DISP_IO_MGMT 模块处理失败后,触发 CPU1 的不可纠正错误(UER),CE 计数器溢出,最终导致 CPU 挂死、系统卡死。

:white_check_mark: 建议下一步:

  1. :white_check_mark: 复现问题并抓取完整日志包(BMC + OS)
  2. :white_check_mark: 检查 PCIe 设备 DMA 行为是否合规
  3. :white_check_mark: 验证 CATERR 是否被正确捕获
  4. :white_check_mark: 检查 FDM 是否配置了合理的错误收敛策略
  5. :white_check_mark: 联系硬件团队分析 ERR_ADDR 所属的设备映射关系
点击此处查看详细分析解答

CPU与内存压测卡死问题的定位分析

根据您提供的 FDM 日志信息和测试场景,系统在进行 CPU、内存压测及 PCIe 误码测试时发生卡死现象。以下是基于现有信息的系统性定位方法和分析结论


:magnifying_glass_tilted_left: 一、问题关键信息分析

1. 故障现象

  • 在执行 CPU 和内存压力测试 以及 PCIe 误码注入测试 时,系统出现卡死
  • 多条硬件错误日志(Hardware Error Log Number 5–9)集中在 2026-04-25 21:31:11 至 21:33:15 之间。
  • 所有错误均来自:
    • Socket:CPU1
    • DIE:Nimbus0
    • Module:DISP_IO_MGMT
    • 错误类型:Uncorrected error, Signaled or Recoverable error (UER)

2. 核心错误码解析

字段 含义
SERRCODE 0x0E Illegal Request(非法请求)
IERRCODE 0x0F Illegal Request(非法请求)
ERR_STATUS 0xE4300F0E 表示严重不可纠正错误触发
ERR_ADDR 0XE00000461XXXXXXX 错误访问地址,指向 IO/内存映射空间
CE Counter 127(最大值) 可纠正错误计数达到上限,可能已转为不可纠正错误

:pushpin: “Illegal Request” 表明 CPU 接收到了一个非法或无法处理的事务请求(通常是来自 PCIe 设备、I/O 模块或内存控制器的异常访问)。


:puzzle_piece: 二、模块定位:DISP_IO_MGMT 是什么?

DISP_IO_MGMT 模块通常指 Display I/O Management Unit,属于芯片内部用于管理 I/O 资源分配与流量调度的子系统,常见于高端 SoC 或 AI 芯片架构(如华为昇腾系列)。

功能与风险点:

  • 负责 PCIe 请求解码、路由、地址转换(ATU)、流量仲裁
  • 若该模块出现错误,外部设备(如 GPU、FPGA、加速卡)发起的非法访问 可导致 CPU 异常挂起
  • ERR_ADDR 指向高地址空间(0xE000...),属于 设备内存映射区域(MMIO)

:white_check_mark: 初步判断:此错误极可能是由 PCIe 设备发出非法请求(如越界访问、错误 BAR 配置、DMA 溢出)引发的系统级 UER 故障,导致 CPU1 异常,最终系统卡死。


:police_car_light: 三、关键证据链梳理

证据 来源 推论
连续多条 UER 错误,集中于 DISP_IO_MGMT 模块 FDM 日志 表明 错误持续发生且未恢复
SERRCODE=0x0E & IERRCODE=0x0F ARER 错误寄存器 均为 非法请求错误(Illegal Request)
ERR_ADDR 为 MMIO 高地址段 寄存器 dump 来源于 PCIe 或 I/O 设备的非法地址访问
CE Counter 达到 127(满值) MISC0 字段 可纠正错误已饱和,系统进入不可恢复状态
卡死发生在压测期间(CPU/内存/PCIe) 用户描述 高负载诱发潜在稳定性问题,尤其是 PCIe 数据流异常

:light_bulb: 四、FDM 在该过程中的作用

根据上下文知识库:

FDM(Fault Detection and Management) 是负责监控 PCIe 设备错误、设置错误事件属性、上报 BIOS/BMC 的关键组件。

在此次故障中:

  • FDM 应检测到 DISP_IO_MGMT 模块的 UER 事件
  • 根据搜索结果 #7FDM 支持对 Memory CE Storm 等进行检测和告警配置
  • 但当前未见 SEL 告警或 FDM 主动响应日志,说明:
    • 要么 FDM 未能及时响应致命错误
    • 要么 系统卡死速度过快,来不及上报

:backhand_index_pointing_right: 因此建议检查:

  • 是否已启用 ipmcget -t fdm -d cestormdetectionmode 等诊断功能
  • fdm.log 中是否有 overflow 记录(参考搜索结果#10)

:white_check_mark: 五、定位与排查建议

1. 检查 PCIe 设备行为

  • 重点怀疑对象:参与压测的 PCIe 设备(如 FPGA、智能网卡、加速卡)
  • 检查其驱动是否最新
  • 检查是否有 DMA 操作不规范、未对齐访问、越界写入等行为
  • 使用 lspci -vv 查看设备状态(Retrain, ECC, Bad TLP 等)

2. 分析错误地址 ERR_ADDR: 0XE00000461XXXXXXX

  • 该地址是 IOVA 或 PA 映射区段
  • 追溯此地址对应的 设备 BAR 空间分配情况
  • 检查内核 dmesg 是否有 "PCIe Bus Error""TLP Abort" 等日志

3. 确认 CPU 是否响应 CATERR

  • 根据搜索结果 #2

    CPU 挂死后,逻辑会拉 CATERR 管脚,BMC 应据此上报 SEL 告警

  • 检查 BMC 是否监测 CPU.CATERR 信号
  • 若未上报 SEL,可能存在 BMC 告警路径断链问题

4. 查看 BMC 侧日志

  • 收集 /var/log/maintenance.logfdm.logapp.log
  • 查找关键词:
    grep -i "cpu1.*caterr" *.log
    grep -i "illegal.*request" *.log
    grep -i "disp_io_mgmt" *.log
    
  • 特别关注 FDM 是否记录 overflow 或 error burst

5. 尝试复现并抓取完整日志包

  • 执行一键日志收集(如有):

一键日志.sh

- 包含内容应有:
- BMC 日志
- 带内 OS dmesg / journalctl
- FDM 输出 dump
- SR 文件(用于比对 CSR 配置)

### 6. **软件配置检查**
- 检查 CSR 中 CPU 类的 `DiagnosticFault`、`PredictiveFault` 是否启用(见搜索结果 #4)
- 确保以下配置项开启:
```ini
Scanner_CpuCATERRAccessor = Enabled
FDM_DiagnosticEnabled = True

7. 尝试规避措施

  • 隔离测试:分别运行 CPU、内存、PCIe 压力测试,确认是组合效应还是单一因素
  • 降低负载强度:使用 smaller block size 或 lower queue depth
  • 更新固件/BMC版本:确认非已知 bug(如 openUBMC 2509/2512 已知问题)

:books: 六、参考知识库支持点

结论 来源依据
FDM 负责监控 PCIe 错误并记录 CPU UCE 故障 KG: FDM, CPU UCE Fault;搜索结果#2、#7
Illegal Request 属于严重 UER 错误,可能导致系统卡死 文档 chunk 2 中类似错误模式
BMC 应通过 CATERR 检测 CPU 挂死并上报 SEL 搜索结果#2
DiagnosticFault 是 CPU 故障的关键标志位 KG: DiagnosticFault;搜索结果#4
CE Counter 满值表示错误累积严重 搜索结果#10,maintenance.log 未记录为异常

:pushpin: 七、总结:故障根因推测与后续动作

:magnifying_glass_tilted_right: 最可能的根本原因:

某 PCIe 设备在高压测试中发出了非法内存访问请求(Illegal Request),经 DISP_IO_MGMT 模块处理失败后,触发 CPU1 的不可纠正错误(UER),CE 计数器溢出,最终导致 CPU 挂死、系统卡死。

:white_check_mark: 建议下一步:

  1. :white_check_mark: 复现问题并抓取完整日志包(BMC + OS)
  2. :white_check_mark: 检查 PCIe 设备 DMA 行为是否合规
  3. :white_check_mark: 验证 CATERR 是否被正确捕获
  4. :white_check_mark: 检查 FDM 是否配置了合理的错误收敛策略
  5. :white_check_mark: 联系硬件团队分析 ERR_ADDR 所属的设备映射关系

:light_bulb: 如需进一步分析,请提供:

  • fdm.log
  • maintenance.log
  • dmesg 输出片段
  • 参与压测的具体 PCIe 设备型号

我们将可更精准地定位到具体设备或驱动层问题。

这里日志说得是CPU收到外部非法请求,包括DAW地址不匹配,或者有不支持的opcode;这里建议:

1.排查是否压测软件配置问题:在其他相同配置环境跑同样的压力测试是否可以复现,能复现则能确认是软件配置,需要排查BIOS、OS驱动,压测软件

2.ERR_ADDR: 0XE000004611800044这里需要有OS专家和BIOS专家一起看下0x4611800044这个系统地址的是否有特殊性,日志显示访问该地址产生的非法操作

3.最后如果是个例单板,建议提交到硬件领域排查