开发者
资源
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

采集的数据量不足的解决办法

现象描述

使用工具分析伪共享问题时,发现采集的数据明显低于预期且不够完整。

可能原因

当前环境启用了CPU空闲管理驱动,CPU可能处于深度空闲状态(Deep Idle),导致工具采集到的数据量不足。

处理步骤

  1. 使用以下命令查看驱动状态。
    cat /sys/devices/system/cpu/cpuidle/current_driver

    返回结果为acpi_idle时,则继续执行2;返回结果为none时,表示该问题与驱动配置无关,建议重新采集验证或适当增加采集时长。

  2. 选择以下两种方式之一,修改驱动配置。方式一不需要重启操作系统,建议优先选用。
    • 方式一:采集数据前执行以下命令,临时禁止CPU进入深度空闲状态。
      for f in $(find /sys/devices/system/cpu -path "*/cpuidle/state*/disable" ! -path "*/state0/*"); do
          echo 1 > "$f"
      done
      采集完成后可执行以下命令恢复配置。
      for f in $(find /sys/devices/system/cpu -path "*/cpuidle/state*/disable" ! -path "*/state0/*"); do
          echo 0 > "$f"
      done
    • 方式二:进入计算机的BIOS设置界面,如图1所示,找到CPU PM Control选项,如图2所示。
      图1 BIOS设置界面
      图2 CPU PM Control选项
      进入界面并关闭LPI(Low Power Idle,低功耗空闲)选项,如图3所示,保存BIOS配置并重启系统。
      图3 LPI选项

      执行2之后,CPU不再进入深度空闲状态,有助于提高工具采集数据的完整性和稳定性,但可能导致系统空闲功耗增加和温度上升。建议仅在性能采集或问题定位时使用,完成后可根据需要执行恢复配置的命令或恢复BIOS设置。