使用openubmc2509sdk开发,在bmc web首页内存占用率信息会出现概率性不显示。
组件版本信息:
host_agent/1.60.30@openubmc/stable#0a9aa88e017f5255730a825ea8e1dc1d%1758439324.952
compute/1.80.76@openubmc/stable#dc06e8cecc6e03cf059511e2605a5c90%1759059629.653
情况如下两图:
参考https://discuss.openubmc.cn/t/topic/2203/26帖子的调试方法。
一键收集日志后
在AppDump/host_agent/mdb_info.log,发现MemUsage,TotalPhysicalMemoryGiB等属性都是正常能够获取到的,是否意味着带内已经将信息正常的传递到了bmc?
/bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/Summary bmc.kepler.sms.redfish.Memory
.MemUsage
signature: v
value: 3.43
flags: -
readonly: true
.SystemMemoryBuffersGiB
signature: v
value: 0.01
flags: -
readonly: true
.SystemMemoryCachedGiB
signature: v
value: 2.84
flags: -
readonly: true
.TotalPhysicalMemoryGiB
signature: v
value: "null"
flags: -
readonly: true
.TotalSystemMemoryGiB
signature: v
value: 126.22
flags: -
readonly: true
.UsedSystemMemoryGiB
signature: v
value: 4.33
flags: -
readonly: true
web上显示的内存占有率应该是读取 /bmc/kepler/Systems/1/Memory 资源对象的bmc.kepler.Systems.Memory.MemoryMetrics接口,AppDump/compute/mdb_info.log如下,发现BandwidthPercent为255,即为NULL。
/bmc/kepler/Systems/1/Memory bmc.kepler.Systems.Memory.MemoryMetrics
.BandwidthPercent
signature: y
value: 255
flags: emits-change volatile
readonly: true
.BandwidthThresholdPercent
signature: y
value: 100
flags: emits-change
readonly: true
.ConsumedPowerWatt
signature: u
value: 0
flags: emits-change volatile
readonly: true
.SystemMemoryBuffersGiB
signature: d
value: 0
flags: volatile
readonly: true
.SystemMemoryCachedGiB
signature: d
value: 0
flags: volatile
readonly: true
.TotalSystemMemoryGiB
signature: d
value: 0
flags: volatile
readonly: true
Event Event_MemUsageMntr_010101 Reading: 0 ["expr(($1 > 100) ? 0 : $1)"]
$1: bmc.kepler.compute /bmc/kepler/Systems/1/Memory bmc.kepler.Systems.Memory.MemoryMetrics BandwidthPercent [255] ["2025-12-29 14:50:05"] ["fetch"]
疑问:
1.在AppDump/host_agent/mdb_info.log,发现MemUsage,TotalPhysicalMemoryGiB等属性都是正常能够获取到的,是否意味着带内已经将信息正常的传递到了bmc?
2.host_agent已经有MemUsage等属性了,为什么还需要经过compute计算,大概的计算流程是什么?


