更新时间:2025-08-06 GMT+08:00

性能配置最佳实践

C-state用于控制CPU在不活动时可以进入的休眠级别,它从C0开始编号(CPU处于正常工作状态),一直到C6(最深的休眠级别,此时CPU进入低功耗状态)。当CPU进入较深的C-state时,其唤醒时延也会变大,在一些实时性要求较高的负载场景,会对性能产生影响。因此,当您对性能稳定性有一定的诉求时,建议您将C-state状态改成C1,以降低CPU的响应延迟。

操作步骤

本文以c9.large.2、Huawei Cloud EulerOS 2.0系统为例介绍如何禁用CPU深度休眠,不同实例规格、不同镜像回显有所不同,以实际为准。

  1. 登录弹性云服务器·。

    具体操作请参见Linux ECS登录方式概述

  2. 执行以下命令,查看当前系统使用的CPUidle driver以及支持的C-states。
    cpupower idle-info

    返回信息如下图所示,Number of idle states表示支持的C-states数量,Available idle states表示支持的具体C-states状态。

    如果执行以下命令没有显示相应的CPUidle driver,您可能需要更新镜像。

  3. 执行以下命令,修改/etc/default/grub文件中C-states相关参数。
    1. 打开/etc/default/grub文件。
      sudo vim /etc/default/grub
    2. i键进入编辑模式。
    3. 找到GRUB_CMDLINE_LINUX=行,在参数末尾添加intel_idle.max_cstate=1和processor.max_cstate=1选项,将空闲CPU的最大C-state限制为C1。

    4. Esc键,输入:wq,按Enter键关闭并保存配置文件。
    5. 重新生成GRUB配置文件。
      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  4. 执行以下命令,重启实例,使配置生效。
    sudo reboot
  5. 执行以下命令,查看当前系统使用的CPUidle driver以及支持的C-states。
    cpupower idle-info

    返回信息如下图所示,说明系统仅支持2种C-states状态(POLL、C1)。