功耗点配置简述
更新时间: 2026/02/09
在Gitcode上查看源码场景: 对于某些节点机型,由于其xxx模组并不由其电源供电,故需配置xxx模组的功耗点才可正常显示系统总功耗。对于某些支持功率封顶的机型,由于其需要计算实际封顶器件的封顶值,故需配置相关的功耗点才可正常执行功率封顶。
功耗点配置简述
功耗点功能使用涉及PowerPoint、PowerPointMgmt两个类,需根据实际需求配置PowerPoint对象及其相应的PowerPointMgmt对象,才可生效。
PowerPoint功耗点类,描述功耗点信息 PowerPoint类:
| 属性名 | 类型 | 描述 |
|---|---|---|
| Id | U64 | 功耗点Id, 其值为| GroupId << 16 | DeviceTypeId << 8 | Id |
| SystemId | U8 | 系统Id |
| PowerType | U8 | 功耗点类型: 1:Real、2:Rated、3:Loss |
| PowerWatts | Double | 功耗点功耗 |
| Status | U8 | 功耗点状态, 0: 正常获取值, 1: 获取值失败, 2: 获取值预失败,正在进行防抖, 3: 处于无效状态, 4: 初始状态, 暂未开始扫描 |
PowerPointMgmt功耗点管理类,描述功耗点功能,配置在PSR PowerPointMgmt类:
| 属性名 | 类型 | 描述 |
|---|---|---|
| Function | U64 | 功耗点管理对象功能Id 1:功耗统计, 2:录波, 3:功率封顶 |
| DeviceTypeIds | U64[ ] | 功耗点管理对象使用功耗点设备类型 |
功耗点功能
功耗统计
需与系列化及硬件同事确认,机型所涉及的不为自身供电的且需加入系统总功耗的器件,并对齐功耗值获取来源后,再进行配置。 以某节点为例,其涉及的8个xxx模组均不为自身供电,可在xxx的CSR里配置PowerPoint对象,如下所示
json
"PowerPoint_xxx_Power": {
"Id": "${GroupId} |> expr($1 << 16 | 9 << 8 | ${Slot})",
"SystemId": "${SystemId}",
"PowerType": 1,
"PowerWatts": "<=/Scanner_xxxPower.Value",
"Status": "<=/Scanner_xxxPower.Status |> expr($1 == 0 ? 0 : 3)"
},
"PowerPoint_xxx_RatedPower": {
"Id": "${GroupId} |> expr($1 << 16 | 9 << 8 | ${Slot})",
"SystemId": "${SystemId}",
"PowerType": 2,
"PowerWatts": "#/xxx_1.MaxPowerCapWatts",
"Status": 0
}然后在节点的PSR里配置PowerPointMgmt对象
json
"PowerPointMgmt_1": {
"Function": 1,
"DeviceTypeIds": [
9
]
}功率封顶
需与系列化及硬件同事确认,机型所涉及的封顶器件和不参与封顶的大功率器件,并对齐功耗来源及额定功耗后,再进行配置。 以某节点为例,其对齐的结论如下所示 1、参与封顶的xxx模组由机柜供电,每个模组的实时功率可获取,单个模组TDP功耗为900W,可将其视为额定功耗 2、不参与封顶的其他器件由节点上的电源供电,其他器件的实时功率之和可采用节点上电源砖功率,电源砖额定功率为300W,可视为其他器件的额定功率之和 3、需要配置的功耗点为
| 功耗点 | 功耗点的功率值 |
|---|---|
| xxx模组实时功率 | 配置Scanner获取 |
| xxx模组额定功率 | 900W |
| 不参与封顶的其他器件的实时功率 | 节点上电源砖的输入功率 |
| 不参与封顶的其他器件的额定功率 | 节点上电源砖的额定功率 |