CPU空闲时间管理(CPU Idle Time Management)
CPUIdle governors
有4种 CPUIdle governors:
menu
TEO
ladder
haltpoll
通过内核命令行控制Idle状态
除了影响CPU空闲时间管理的架构级(architecture-level)内核命令选项外,还有一些参数可以通过内核命令行传递来影响单个 CPUIdle 驱动。
具体而言:
intel_idle.max_cstate=<n>和processor.max_cstate=<n>参数,其中<n>是空闲状态索引,也用于sysfs中给定状态的目录名称intel_idle.max_cstate=<n>和processor.max_cstate=<n>参数会让intel_idle和acpi_idle驱动程序分别丢弃被指定空闲状态<n>更深的所有空闲状态:上述
max_cstate是idle驱动的最深空闲状态值当
max_cstate=0时,intel_idle和acpi_idle驱动程序的行为是不同的 敲黑板了 我在 排查lscpu缓慢 就遇到 ADM Ryzon处理器随机"冻结"问题 缺陷intel_idle.max_cstate=0会禁用intel_idle驱动并允许使用acpi_idle然而
processor.max_cstate=0等同于processor.max_cstate=1acpi_idle驱动是单独加载的内核模块的一部分,当该内核模块加载时,max_cstate=<n>会传递给内核模块