15.4. 为运行 colocated 高和低优先级工作负载的节点配置节能
您可以为带有低优先级工作负载的节点实现节能,而不影响高优先级工作负载的延迟或吞吐量。无需修改工作负载本身即可进行节能。
重要
Intel Ice Lake 及更新的 Intel CPU 支持该功能。处理器的功能可能会影响高优先级工作负载的延迟和吞吐量。
先决条件
- 您在 BIOS 中启用了 C-states 和操作系统控制的 P-states
流程
将
per-pod-power-management参数设置为true来生成PerformanceProfile:$ podman run --entrypoint performance-profile-creator -v \ /must-gather:/must-gather:z registry.redhat.io/openshift4/ose-cluster-node-tuning-rhel9-operator:v4.16 \ --mcp-name=worker-cnf --reserved-cpu-count=20 --rt-kernel=true \ --split-reserved-cpus-across-numa=false --topology-manager-policy=single-numa-node \ --must-gather-dir-path /must-gather --power-consumption-mode=low-latency \1 --per-pod-power-management=true > my-performance-profile.yaml- 1
- 当
per-pod-power-management参数设置为true时,power-consumption-mode参数必须是default或low-latency。
带有
perPodPowerManagement的PerformanceProfile示例apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: performance spec: [.....] workloadHints: realTime: true highPowerConsumption: false perPodPowerManagement: true在
PerformanceProfile自定义资源(CR) 中将默认cpufreq调控器设置为附加内核参数:apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: performance spec: ... additionalKernelArgs: - cpufreq.default_governor=schedutil1 - 1
- 建议使用
schedutil管理器,但您可以使用其他监管器,如ondemand或powersavegovernors。
在
Tuned PerformancePatchCR 中设置最大 CPU 频率:spec: profile: - data: | [sysfs] /sys/devices/system/cpu/intel_pstate/max_perf_pct = <x>1 - 1
max_perf_pct控制cpufreq驱动程序的最大频率,以最大百分比的形式设置支持的 cpu 频率。这个值适用于所有 CPU。您可以检查/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq中的最大支持频率。作为起点,您可以使用以All Cores Turbo频率封装所有 CPU 的百分比。All Cores Turbo频率是所有内核在运行的频率,当内核完全占用时。