
# 性能配置最佳实践
C-state用于控制CPU在不活动时可以进入的休眠级别，它从C0开始编号（CPU处于正常工作状态），一直到C6（最深的休眠级别，此时CPU进入低功耗状态）。当CPU进入较深的C-state时，其唤醒时延也会变大，在一些实时性要求较高的负载场景，会对性能产生影响。因此，当您对性能稳定性有一定的诉求时，建议您将C-state状态改成C1，以降低CPU的响应延迟，从而降低Ping和TCP/UDP时延。
#### 操作步骤
本文以c9.large.2、Huawei Cloud EulerOS 2.0系统为例介绍如何禁用CPU深度休眠，不同实例规格、不同镜像回显有所不同，以实际为准。
1. 登录弹性云服务器。 具体操作请参见[Linux ECS登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
   
2. 执行以下命令，查看当前系统使用的CPUidle driver以及支持的C-states。
   ```
   cpupower idle-info
   ```
   返回信息如下图所示，Number of idle states表示支持的C-states数量，Available idle states表示支持的具体C-states状态。
   ![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
   如果执行以下命令没有显示相应的CPUidle driver，您可能需要更新镜像。
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002279078497.png "点击放大")
   
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。 ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002278168889.png "点击放大")
      
   
   4. 按**Esc** 键，输入**:wq** ，按**Enter**键关闭并保存配置文件。
   
   5. 重新生成GRUB配置文件。
      ```
      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```
      ![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
      不同镜像或不同启动方式，GRUB文件地址不同，如Huawei Cloud EulerOS 2.0 UEFI启动场景，命令为：**sudo grub2-mkconfig -o /boot/efi/EFI/hce/grub.cfg**。
      可通过以下命令查询启动方式：
      ```
      [ -d /sys/firmware/efi ] && echo "UEFI Boot Detected" || echo "Legacy BIOS Boot Detected"
      ```
      
    
4. 执行以下命令，重启实例，使配置生效。
   ```
   sudo reboot
   ```
   
5. 执行以下命令，查看当前系统使用的CPUidle driver以及支持的C-states。
   ```
   cpupower idle-info
   ```
   返回信息如下图所示，说明系统仅支持2种C-states状态（POLL、C1）。
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002278999697.png "点击放大")
   
 
