2512-sp1版本,web界面内存CPU显示问题

当前为25.12-sp1版本,加载了板卡后,web界面内存CPU占用率显示如下

CPU/内存一直无法显示

当前ibma状态正常,点入可以看到CPU等占用率

如何定位解决这个问题,之前用2512/2509,web界面都可以正常显示

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

:pushpin: 总结

项目 状态
iBMA 运行状态 :white_check_mark: 正常
前端显示异常 :cross_mark:
根本原因 后端数据未正确写入 CSR 或 Host Agent 注册失败
关键字段 MemUsage, TotalCPUUsage, BandwidthPercent255
解决方案 检查注册状态 → 重启服务 → 验证 CSR 写入 → 反馈版本缺陷

:speaker_high_volume: 结论:当前问题极可能是 25.12-SP1 版本在 Host Agent 与 compute 数据链路上存在缺陷,建议优先降级测试或联系维护团队修复 CSR 写入逻辑。

点击此处查看详细分析解答

Web界面CPU与内存占用率显示异常问题分析与解决方案

您在使用 25.12-SP1 版本时,遇到 Web界面中CPU和内存占用率显示为“–” 的问题,尽管 iBMA 服务正常运行且可查看到相关监控数据。以下是基于上下文信息的系统性定位与解决方案


:magnifying_glass_tilted_left: 问题现象总结

  • 固件版本25.12-SP1
  • 问题表现
    • Web首页“系统监控”面板中:
      • 磁盘占用率正常显示
      • CPU 占用率显示为 --
      • 内存占用率显示为 --
    • 在“CPU占用率”和“内存占用率”的子页面中,时序图能展示数值,但“当前值”仍显示“–”
    • iBMA服务状态正常,版本为 2.16.1,驱动版本 0.3.10,注册服务运行中
  • 历史对比
    • 使用 25.1225.09 正常,升级至 25.12-SP1 后出现问题

:puzzle_piece: 问题根本原因分析

根据您提供的信息以及知识库中多份文档和案例分析,该问题的核心原因可归结为:

:white_check_mark: 1. 数据未通过 Host Agent 注册或暴露

尽管 iBMA 本身运行正常,并采集了 CPU 和内存数据,但 OpenUBMC 的 Web 前端依赖 bmc.kepler.host_agent 模块 来获取这些指标。关键接口如下:

# 检查是否注册成功
busctl --user introspect bmc.kepler.host_agent /bmc/kepler/Systems/1/Sms

# 查询 memory 数据
busctl --user introspect bmc.kepler.host_agent /bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/Summary

需确认以下属性:

属性 正常值 说明
Registered true iBMA 是否已成功注册
State 0 SMS 状态正常
MemUsage <100 且 ≥0 内存使用率,若为255表示无效
TotalCPUUsage <100 且 ≥0 CPU 使用率,若为255表示无效

:warning:2 号文档《算力部件相关FAQ》中明确指出:

  • TotalCPUUsage=255,说明 bma (Host Agent) 侧数据无效
  • Registered=false,表示 iBMA未完成注册

:white_check_mark: 2. CSR MemoryMetricsCPUMetricsBandwidthPercent 为默认无效值

从文档《CSR配置字典之MemoryMetrics类》和《CPUMetrics类》可知:

  • BandwidthPercent 字段默认值为 255,表示 未初始化或数据无效
  • Web 前端显示“–”正是当此字段等于 255 时的行为

:white_check_mark: 解决方案:必须有组件将实际采集到的 CPU/内存利用率写入此 CSR 属性


:white_check_mark: 3. 25.12-SP1 存在版本兼容性问题

尽管 25.12 版本已修复 25.09 的内存显示问题(参考实体“Web界面内存占用率显示问题”与“Community Documentation”关系),但 SP1 补丁包可能引入了新问题,例如:

  • Host Agent 与 iBMA 通信链路更新
  • CSR 属性绑定逻辑变更
  • Prometheus 指标上报中断

:hammer_and_wrench: 定位与排查步骤

请依次执行以下命令进行排查:

:magnifying_glass_tilted_right: 1. 检查 iBMA 注册状态与 Host Agent 数据

# 检查 Host Agent 是否注册
busctl --user introspect bmc.kepler.host_agent /bmc/kepler/Systems/1/Sms
# 查看 Registered 和 State

# 检查内存使用率
busctl --user get-property bmc.kepler.host_agent bmc.kepler.sms.redfish.Memory /bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/Summary MemUsage
# 输出应为一个U8数值(如45),不是255

# 检查 CPU 使用率
busctl --user get-property bmc.kepler.host_agent bmc.kepler.sms.redfish.Processor /bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/Summary TotalCPUUsage

:cross_mark: 如果返回 255:说明 iBMA 采集到了数据,但未正确写入 Host Agent
:white_check_mark: 如果返回正常值(如 32):则问题出在前端或 CSR 层


:magnifying_glass_tilted_right: 2. 检查 CSR 中的实时指标值

# 查询内存占用率
mdbctl lsprop MemoryMetrics_1_010101 | grep BandwidthPercent

# 查询 CPU 占用率
mdbctl lsprop CPUMetrics_1_010101 | grep BandwidthPercent
  • 若输出为 BandwidthPercent 255 → 表示指标未更新
  • 若输出为如 BandwidthPercent 42 → 表示后端数据正常,前端渲染异常

:magnifying_glass_tilted_right: 3. 检查 compute 组件日志是否打印注册信息

# 检查是否有如下日志
grep -i "sms registered" /var/log/messages
# 应出现类似日志:
# [system1]sms registered is true
# [system1]sms status is 0

若无此日志,说明 compute 组件未正确接收 Host Agent 状态


:white_check_mark: 推荐解决方案

根据以上分析,采取以下三种策略结合处理:

:white_check_mark: 方案一:确认并重启依赖服务

# 重启 iBMA 服务
systemctl restart iBMA

# 重启 Host Agent(视环境而定)
systemctl restart bmc-kepler-host-agent

# 等待1-2分钟后刷新页面

:pushpin: 注:某些版本中 Host Agent 在 iBMA 启动后需手动触发注册


:white_check_mark: 方案二:验证 CSR 数据写入机制

确认 iBMA Monitor 模块 是否将采集数据写入了 CSR。

  • 正常路径:
    iBMA → Host Agent → compute → CSR (MemoryMetrics/CPUMetrics)
  • 若断在此处,需更新 iBMA 或修复 compute 组件逻辑

:white_check_mark: 建议尝试 降级回 25.12 正式版 验证是否为 SP1 特有问题


:white_check_mark: 方案三:参考社区修复建议(来自版本 25.12)

源自文档中 Longbow 的回复(doc_id=2):

“该问题已在 2512 版本解决,请使用此后的版本验证。”

但由于您使用的是 25.12-SP1 仍存在问题,推测:

  • SP1 修改了 Host Agent 或 compute 组件的行为
  • 修复方案未完整移植至 SP 分支

:white_check_mark: 建议反馈给开发团队,确认该 SP 版本是否遗漏了以下关键补丁:

  • Host Agent 对 MemUsageTotalCPUUsage 的处理逻辑
  • compute 组件对 BandwidthPercent 的更新机制

:books: 参考文档与调试建议

资源 用途
:blue_book: 社区文档 Host代理管理常见问题指南 了解 Host Agent 工作机制
:bar_chart: redfish/v1/Systems/1/MemorySummary/MemoryMetrics 通过 Redfish 接口验证内存数据是否可用
:wrench: mdbctl lsprop MemoryMetrics_1_010101 直接查看 CSR 数据
:clipboard: Prometheus 指标面板(如 Grafana) 查看 总内存使用率总CPU使用率 是否有数据

:toolbox: 附加建议

  1. 尝试升级到 25.12 后续更新版本(如 20251230 之后)
  2. 提交问题到 openUBMC 社区论坛,并附上:
    • busctl 查询结果
    • iBMA log(/var/log/iBMA/*.log
    • mdbctl lsprop 输出
  3. 检查 BIOS 版本是否兼容,部分案例中 BIOS 更新导致 bma 数据异常

:pushpin: 总结

项目 状态
iBMA 运行状态 :white_check_mark: 正常
前端显示异常 :cross_mark:
根本原因 后端数据未正确写入 CSR 或 Host Agent 注册失败
关键字段 MemUsage, TotalCPUUsage, BandwidthPercent255
解决方案 检查注册状态 → 重启服务 → 验证 CSR 写入 → 反馈版本缺陷

:speaker_high_volume: 结论:当前问题极可能是 25.12-SP1 版本在 Host Agent 与 compute 数据链路上存在缺陷,建议优先降级测试或联系维护团队修复 CSR 写入逻辑。

参考这个帖子进行初步排查
docs/docs/zh/development/faq/hardware/compute.md · openUBMC/docs - AtomGit | GitCode