CSR配置字典之CoolingPolicy类
更新时间: 2025/07/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题CoolingPolicy类配置字典
版本v1.2
创建日期2025-01-27
最后更新2026-05-12
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建CoolingPolicy类配置字典全新文档系统管理员
v1.12026-02-12补丁版本新增HDDBackPlaneCount和PCIeCardCount属性环温调速曲线生效汪航
v1.22026-05-12补丁版本修改类概览描述信息类概览描述信息汪航

🎯 类概览

CoolingPolicy 类

属性
类名称CoolingPolicy
功能描述线性调速策略对象,提供基于环境温度的风扇线性调速策略配置,支持温度区间和转速区间的对应关系
所属SIG组hardware
所属组件thermal_mgmt
责任人能效管理组
最后更新2026-05-12
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
PolicyIdxU80U8-线性调速策略CoolingPolicy的ID环温调速策略配置:环温调速策略ID6CSR软件
ExpCondValString""String-调速策略生效的预期条件环温调速策略配置:环温调速策略生效条件"EnergySaving"CSR热设计
ActualCondValString""StringCoolingConfig_1调速策略实际条件环温调速策略配置:环温调速策略实际条件,当生效条件和实际条件相同时该调速策略生效且FanType满足时生效"<=/CoolingConfig_1.SmartCoolingMode"CSR热设计
TemperatureRangeLowS16[][]S16[]-线性调速策略温度区间低门限环温调速策略配置:环温调速策略温度区间和转速区间对应关系[-127, 20, 30, 40, 50]CSR热设计
TemperatureRangeHighS16[][]S16[]-线性调速策略温度区间高门限环温调速策略配置:环温调速策略温度区间和转速区间对应关系[20, 30, 40, 50, 127]CSR热设计
SpeedRangeLowS16[][]S16[]-线性调速策略转速区间低门限环温调速策略配置:环温调速策略温度区间和转速区间对应关系[20, 32, 70, 100]CSR热设计
SpeedRangeHighS16[][]S16[]-线性调速策略转速区间高门限环温调速策略配置:环温调速策略温度区间和转速区间对应关系[20, 32, 70, 100]CSR热设计
FanTypeString[][]String[]-风扇类型列表,环境风扇类型为列表之一时,风扇条件生效环温调速策略配置:风扇类型,当风扇类型与之相同时环温调速策略生效["02314BLG 8038+"]CSR热设计
PolicyTypeU324294967295U32-线性调速策略类型,当前支持类型包括:
1:进风口温度;
2:硬盘温度;
4294967295:默认类型
区分不同的线性调速策略类型1CSR热设计

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
HDDBackPlaneNameString[]空数组实际前置硬盘背板名称-前置背板名称列表,环境前置硬盘背板名称为列表之一时,条件生效环温调速策略配置:前置硬盘背板名称,当前实际前置硬盘背板名称与之相同时环温调速策略生效["BC83NHBF"]CSR热设计
HDDRearBackPlaneNameString[]空数组实际后置硬盘背板名称-后置背板名称列表,环境后置硬盘背板名称为列表之一时,条件生效环温调速策略配置:后置硬盘背板名称,当前实际后置硬盘背板名称与之相同时环温调速策略生效["BC83NHBF"]CSR热设计
HDDBackPlaneCountU8[]空数组0~255-前置硬盘背板对应数量,与HDDBackPlaneName配合使用,环境前置硬盘背板类型和数量匹配时,条件生效环温调速策略配置:前置硬盘背板数量,当前实际前置硬盘背板名称和数量与之相同时环温调速策略生效[1]CSR热设计
PCIeCardNameString[]空数组实际PCIe卡名称-PCIe卡名称列表,环境PCIe卡名称为列表之一时,条件生效环温调速策略配置:PCIe卡名称,当前实际PCIe卡名称与之相同时环温调速策略生效["SF200HT"]CSR热设计
PCIeCardCountU8[]空数组0~255-PCIe卡对应数量,与PCIeCardName配合使用,环境PCIe卡类型和数量匹配时,条件生效环温调速策略配置:PCIe卡数量,当前实际PCIe卡名称和数量与之相同时环温调速策略生效[1]CSR热设计
CustomSupportedBooleanfalsetrue/false-是否支持自定义调速曲线,true表示支持,false表示不支持当配置为支持时,用户可自定义设置调速曲线的温度区间门限和转速区间门限trueCSR热设计
FanSpeedRangePercentsU8[][]U8[]-支持自定义调速曲线配置的风扇转速范围当调速曲线支持自定义设置时,设置的转速范围需在配置区间内[25, 100]CSR热设计
HysteresisU80U8-迟滞量温度过高触发风扇满转后,当温度降到MaxAllowedTemperature减迟滞量以下时,风扇退出满转状态1CSR热设计
DiskTempUnavailableToValidBooleanfalsetrue/false-线性调速策略生效前提是硬盘温度获取失败获取硬盘温度失败时判断是否生效此调速策略trueCSR热设计
CoolingMediumString"Air""Air"/"Liquid"-线性调速策略对应介质当调速策略介质与实际环境相符时,生效调速策略"Air"CSR热设计

🔗 动态关联机制

语法规范

使用标准配置语法和动态关联:

yaml
# 调速策略基础配置
PolicyIdx: 6
ExpCondVal: "EnergySaving"
ActualCondVal: "<=/CoolingConfig_1.SmartCoolingMode"
PolicyType: 1

# 温度区间配置
TemperatureRangeLow: [-127, 20, 30, 40, 50]
TemperatureRangeHigh: [20, 30, 40, 50, 127]

# 转速区间配置
SpeedRangeLow: [20, 32, 70, 100]
SpeedRangeHigh: [20, 32, 70, 100]

# 风扇类型配置
FanType: ["02314BLG 8038+"]

# 前置硬盘背板名称和数量配置
HDDBackPlaneName: ["BC83NHBF"]
HDDBackPlaneCount: [1]

# 后置硬盘背板名称
HDDRearBackPlaneName: ["BC83NHBF"]

# PCIe卡名称和数量配置
PCIeCardName: ["SF200HT"]
PCIeCardCount: [1]

# 自定义调速策略配置
CustomSupported: true
FanSpeedRangePercents: [25, 100]

# 获取硬盘温度失败调速策略配置
DiskTempUnavailableToValid: true

# 调速策略介质
CoolingMedium: "Air"

关联说明

  • 条件匹配: ExpCondVal和ActualCondVal必须匹配才能生效
  • 动态关联: ActualCondVal通过CoolingConfig对象获取实际调速模式
  • 温度转速对应: 温度区间和转速区间一一对应
  • 风扇类型匹配: 只有匹配的风扇类型才应用此策略
  • 前置硬盘背板名称匹配:只有匹配的前置硬盘背板名称才应用此策略
  • 前置硬盘背板数量匹配:若配置前置硬盘背板数量,数组大小需与前置硬盘背板名称大小相同,并且只有匹配的前置硬盘背板名称和数量才应用此策略
  • PCIe卡名称匹配:只有匹配的PCIe卡名称才应用此策略
  • PCIe卡数量匹配:若配置PCIe卡数量,数组大小需与PCIe卡名称大小相同,并且只有匹配的PCIe卡名称和数量才应用此策略
  • 后置硬盘背板名称匹配:只有匹配的后置硬盘背板名称才应用此策略
  • 自定义调速策略配置: 只有支持自定义的调速策略需将CustomSupported为true,并设置合理的风扇转速范围FanSpeedRangePercents
  • 硬盘温度获取失败配置: 只有与硬盘相关的调速策略才需进行配置
  • 调速策略介质: 只有匹配的调速策略介质才应用此策略
  • 调速策略类型: 区分不同的调速策略类型

📂 分类标准

硬件属性

  • 定义:当前版本无硬件属性
  • 特点:所有属性都是热设计相关
  • 示例:无

软件属性

  • 定义:由软件管理的调速策略配置参数
  • 特点:策略ID、条件配置等
  • 示例PolicyIdx

热设计属性

  • 定义:与热设计和散热策略直接相关的参数
  • 特点:温度区间、转速区间、风扇类型等热管理参数
  • 示例ExpCondVal, ActualCondVal, TemperatureRangeLow, TemperatureRangeHigh, SpeedRangeLow, SpeedRangeHigh, FanType, HDDBackPlaneName, HDDBackPlaneCount, PCIeCardName, PCIeCardCount, PolicyType, HDDRearBackPlaneName, CustomSupported, FanSpeedRangePercents, DiskTempUnavailableToValid, CoolingMedium

📝 配置示例

节能模式调速策略

json
{
  "CoolingPolicy_EnergySaving": {
    "PolicyIdx": 6,
    "ExpCondVal": "EnergySaving",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 20, 30, 40, 50],
    "TemperatureRangeHigh": [20, 30, 40, 50, 127],
    "SpeedRangeLow": [20, 32, 70, 100],
    "SpeedRangeHigh": [20, 32, 70, 100],
    "FanType": ["02314BLG 8038+"]
  }
}

高性能模式调速策略

json
{
  "CoolingPolicy_HighPerformance": {
    "PolicyIdx": 7,
    "ExpCondVal": "HighPerformance",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 15, 25, 35, 45],
    "TemperatureRangeHigh": [15, 25, 35, 45, 127],
    "SpeedRangeLow": [40, 60, 80, 100],
    "SpeedRangeHigh": [40, 60, 80, 100],
    "FanType": ["02314BLG 8038+", "02314BLG 9038+"]
  }
}

低噪音模式调速策略

json
{
  "CoolingPolicy_LowNoise": {
    "PolicyIdx": 8,
    "ExpCondVal": "LowNoise",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 25, 35, 45, 55],
    "TemperatureRangeHigh": [25, 35, 45, 55, 127],
    "SpeedRangeLow": [15, 25, 45, 80],
    "SpeedRangeHigh": [15, 25, 45, 80],
    "FanType": ["02314BLG 8038+"]
  }
}

自定义模式调速策略

json
{
  "CoolingPolicy_Custom": {
    "PolicyIdx": 9,
    "ExpCondVal": "Custom",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 18, 28, 38, 48],
    "TemperatureRangeHigh": [18, 28, 38, 48, 127],
    "SpeedRangeLow": [25, 40, 65, 90],
    "SpeedRangeHigh": [25, 40, 65, 90],
    "FanType": ["02314BLG 8038+", "02314BLG 9038+", "02314BLG 7038+"]
  }
}

节能模式调速策略配合前置硬盘背板,后置硬盘背板和PCIe卡

json
{
  "CoolingPolicy_EnergySaving": {
    "PolicyIdx": 6,
    "ExpCondVal": "EnergySaving",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 20, 30, 40, 50],
    "TemperatureRangeHigh": [20, 30, 40, 50, 127],
    "SpeedRangeLow": [20, 32, 70, 100],
    "SpeedRangeHigh": [20, 32, 70, 100],
    "FanType": ["02314BLG 8038+"],
    "HDDBackPlaneName": ["BC83NHBF"],
    "HDDBackPlaneCount": [1],
    "HDDRearBackPlaneName": ["BC83NHBF"],
    "PCIeCardName": ["SF200HT"],
    "PCIeCardCount": [1]
  }
}

支持自定义的类型为进风口温度的调速策略

json
{
  "CoolingPolicy_EnergySaving": {
    "PolicyIdx": 8,
    "PolicyType": 1,
    "CustomSupported": true,
    "ExpCondVal": "Custom",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 20, 30, 40, 50],
    "TemperatureRangeHigh": [20, 30, 40, 50, 127],
    "SpeedRangeLow": [20, 32, 70, 100],
    "SpeedRangeHigh": [20, 32, 70, 100],
    "FanSpeedRangePercents": [25, 100]
  }
}

调速策略媒介为Liquid的调速策略

json
{
  "CoolingPolicy_EnergySaving": {
    "PolicyIdx": 8,
    "PolicyType": 1,
    "CustomSupported": true,
    "ExpCondVal": "Custom",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 20, 30, 40, 50],
    "TemperatureRangeHigh": [20, 30, 40, 50, 127],
    "SpeedRangeLow": [20, 32, 70, 100],
    "SpeedRangeHigh": [20, 32, 70, 100],
    "FanSpeedRangePercents": [25, 100],
    "CoolingMedium": "Air"
  }
}

获取硬盘温度失败生效的调速策略

json
{
  "CoolingPolicy_EnergySaving": {
    "PolicyIdx": 8,
    "PolicyType": 1,
    "CustomSupported": true,
    "ExpCondVal": "Custom",
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
    "TemperatureRangeLow": [-127, 20, 30, 40, 50],
    "TemperatureRangeHigh": [20, 30, 40, 50, 127],
    "SpeedRangeLow": [20, 32, 70, 100],
    "SpeedRangeHigh": [20, 32, 70, 100],
    "FanSpeedRangePercents": [25, 100],
    "CoolingMedium": "Air",
    "DiskTempUnavailableToValid": true
  }
}

🔧 使用指南

配置步骤

  1. 策略ID配置:设置PolicyIdx为唯一的策略ID
  2. 策略类型配置: 设置PolicyType(若不区分,则不设置,使用默认值)
  3. 生效条件配置:设置ExpCondVal和ActualCondVal
  4. 温度区间配置:设置TemperatureRangeLow和TemperatureRangeHigh
  5. 转速区间配置:设置SpeedRangeLow和SpeedRangeHigh
  6. 风扇类型配置:设置FanType支持的风扇类型列表
  7. 前置硬盘背板名称配置:设置HDDBackPlaneName支持的前置硬盘背板名称列表
  8. 前置硬盘背板数量配置:设置基于HDDBackPlaneName对应的前置硬盘背板数量HDDBackPlaneCount(可选配置,即若不需要精细化调速,则不配置)
  9. PCIe卡名称配置:设置PCIeCardName支持的PCIe卡名称列表
  10. PCIe卡数量配置:设置基于PCIeCardName对应的PCIe卡数量PCIeCardCount(可选配置,即若不需要精细化调速,则不配置)
  11. 后置硬盘背板名称配置: 设置HDDRearBackPlaneName支持的前置硬盘背板名称列表
  12. 自定义配置: 设置CustomSupported和FanSpeedRangePercents
  13. 获取硬盘温度失败后生效配置: 设置DiskTempUnavailableToValid
  14. 策略验证:验证策略配置的合理性和有效性

线性调速原理

  • 温度区间: 定义不同的温度范围
  • 转速区间: 对应每个温度区间的风扇转速
  • 线性插值: 在温度区间内进行线性插值计算转速
  • 分段控制: 不同温度段采用不同的转速控制策略

温度转速对应关系

  • 数组对应: 温度区间和转速区间数组一一对应
  • 区间定义: TemperatureRangeLow[i] <= 温度 < TemperatureRangeHigh[i]
  • 转速计算: 转速在SpeedRangeLow[i]和SpeedRangeHigh[i]之间线性插值
  • 边界处理: 超出范围的温度使用边界转速

调速模式说明

  • EnergySaving: 节能模式,优先降低功耗
  • HighPerformance: 高性能模式,优先保证散热
  • LowNoise: 低噪音模式,优先降低噪音
  • Custom: 自定义模式,用户自定义策略

风扇类型管理

  • 类型匹配: 只有匹配的风扇类型才应用策略
  • 型号识别: 通过风扇型号字符串进行匹配
  • 多类型支持: 支持多种风扇类型使用同一策略

前置硬盘名称管理

  • 名称匹配: 只有匹配的前置硬盘背板名称才应用策略
  • 多类型支持: 支持多种前置硬盘背板使用同一策略
  • 数量支持:支持配置前置硬盘背板对应数量,数量匹配时才应用策略

后置硬盘名称管理

  • 名称匹配: 只有匹配的后置硬盘背板名称才应用策略
  • 多类型支持: 支持多种后置硬盘背板使用同一策略

PCIe卡名称管理

  • 名称匹配: 只有匹配的PCIe卡名称才应用策略
  • 多类型支持: 支持多种PCIe卡名称使用同一策略
  • 数量支持:支持配置PCIe卡对应数量,数量匹配时才应用策略

自定义设置管理

  • 自定义配置: 只有支持自定义的调速策略需将CustomSupported为true,并设置合理的风扇转速范围FanSpeedRangePercents

多条件匹配生效管理

  • 调速媒介: 只有匹配的调速媒介才应用策略
  • 硬盘温度: 只有获取硬盘温度失败才应用策略

注意事项

  • 区间合理性: 确保温度区间和转速区间配置合理
  • 数组长度: 温度区间和转速区间数组长度必须一致
  • 条件匹配: ExpCondVal和ActualCondVal必须匹配才能生效
  • 风扇兼容: 确保风扇类型配置与实际硬件匹配

故障排除

  1. 策略不生效

    • 检查ExpCondVal和ActualCondVal是否匹配
    • 确认风扇类型是否在FanType列表中
    • 验证CoolingConfig对象是否正确配置
  2. 转速异常

    • 检查温度区间和转速区间配置是否合理
    • 确认数组长度是否一致
    • 验证线性插值计算是否正确
  3. 温度响应异常

    • 检查温度传感器是否正常工作
    • 确认温度区间设置是否合理
    • 验证温度读取是否准确

📚 相关文档