CPU 睡眠状态
CPU 核心支持多种睡眠状态。每种睡眠状态都有相关的进入和退出延迟以及不同的功耗水平。核心睡眠状态的选择取决于该核心多久之后需要再次执行任务。 每个 CPU 睡眠状态由一个 C-state 编号表示。每个 C-state 关联两个关键参数:- 省电:选择更高的 C-state 时,CPU 的省电效果会增加,但会导致唤醒延迟增加。
- 唤醒延迟:这是 CPU 核心从睡眠状态转换到运行状态所需的时间。

使用以下命令查看 CPU 睡眠状态的延迟:
<X> 表示核心 ID,范围为 0 到 7,<Y> 是 Linux 电源状态的索引(0、1、2)。下表定义了 Linux 电源状态。
您可以研究和配置睡眠状态,以调优应用程序,实现功耗和性能的平衡。
下表列出了支持的 CPU 睡眠状态及其关联的 C-state 编号:
注意
CPU 睡眠状态默认启用。
- QCS6490/QCS5430
- IQ-9075
- IQ-8275
- IQ-615
- IQ-X7181
- IQ-X5121
- CQ-2390
- IQ-X10
表:QCS6490/QCS5430 支持的核心电源状态
启用和禁用低功耗管理状态
下表列出了如何配置 CPU 睡眠状态: 注意 如果更改睡眠状态的配置,应检查对设备功耗的影响。 表:启用/禁用 CPU 电源状态的命令| CPU 睡眠状态 | 描述 | Linux 电源状态 |
|---|---|---|
| S0 | 禁用 | echo 0 > /sys/devices/system/cpu/cpuX/cpuidle/state0/disable |
| 启用 | echo 1 > /sys/devices/system/cpu/cpuX/cpuidle/state0/disable | |
| S1 | 禁用 | echo 0 > /sys/devices/system/cpu/cpuX/cpuidle/state1/disable |
| 启用 | echo 1 > /sys/devices/system/cpu/cpuX/cpuidle/state1/disable | |
| S2 | 禁用 | echo 0 > /sys/devices/system/cpu/cpuX/cpuidle/state2/disable |
| 启用 | echo 1 > /sys/devices/system/cpu/cpuX/cpuidle/state2/disable |
<X> 表示核心 ID,范围为 0 到 11。
验证 CPU 空闲统计信息
要检查 CPU 核心睡眠状态的统计信息,请运行以下命令:<X> 是核心 ID,范围为 0 到 7,<Y> 是 Linux 电源状态的索引(0、1 和 2)。
以下是输出示例:
usage 计数表示 cpu<X> 进入某个 Linux 电源状态的次数。

