临时暂停GPU Pod部分监控指标采集

ACS默认开启的GPU设备监控因部分监控指标仅支持单进程独立采集,会与NVIDIA Nsight等性能分析工具产生冲突。这会导致在T4、A10、L20(GN8IS)、P16EN卡型上无法正常采集数据,产生CUPTIDCGM错误,通过临时暂停部分监控指标采集可解决该问题。

操作指南

查看GPU Pod部分监控指标采集状态

  1. 通过终端连接到GPU Pod的容器。

    1. 登录容器计算服务控制台,在左侧导航栏选择集群列表

    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 容器组

    3. 单击目标GPU Pod右侧操作列的终端,连接到目标容器。

  2. 查看监控指标采集的状态。

    curl -X POST http://localhost:9501/profmetric/status

    预期输出:

    • 正常采集:指标正常采集时的预期输出,即Pause Available值为In 0 seconds

      Status: Collecting
      Pause Available: In 0 seconds
    • 暂停采集:指标暂停采集时的预期输出,其中Resume Countdown表示600秒后指标采集将自动恢复。

      Status: Paused
      Resume Countdown: In 600 seconds
    • 正常采集但处于冷静期:指标正常采集但处于冷静期时的预期输出,具体表现为Pause Available值不为0,表示当前刚刚恢复采集,但需要一定时间的冷静期才能再次发起暂停采集。

      Status: Collecting
      Pause Available: In 60 seconds

暂停GPU Pod部分监控指标采集

使用默认参数

  1. 通过终端连接到GPU Pod的容器

  2. 在默认周期内(600秒)暂停GPU Pod特定监控指标的采集。

    curl -X POST http://localhost:9501/profmetric/pause

    预期输出:

    Successfully pause metrics collection for 600 seconds

    表示特定监控指标的采集将默认暂停600秒。

指定暂停时间参数

  1. 通过终端连接到GPU Pod的容器

  2. 在指定周期内暂停GPU Pod特定监控指标的采集。

    curl -X POST http://localhost:9501/profmetric/pause -d "time=200"

    预期输出:

    Successfully pause metrics collection for 200 seconds

    命令通过-d指定暂停时间参数:time,单位为秒(最大值、默认值均为600秒)。预期输出表示特定监控指标的采集将暂停200秒。

恢复GPU Pod部分监控指标采集

  1. 通过终端连接到GPU Pod的容器

  2. 恢复已暂停采集的监控指标。

    curl -X POST http://localhost:9501/profmetric/resume

    预期输出:

    Successfully resume metrics collection

    预期输出表示指标采集已恢复。

生产环境建议

  1. 选择合适的时间窗口: 临时暂停监控指标采集可能导致告警失效或误报,建议在业务低峰期执行性能分析,减少对监控告警的影响。

  2. 异常退出时应有恢复机制: 使用curl -X POST http://localhost:9501/profmetric/resume命令或脚本确保异常退出时恢复特定监控指标采集。

指标与卡型说明

特定卡型在使用性能分析工具时需要临时暂停以下监控指标采集。

指标名

说明

受影响GPU卡型

DCGM_FI_PROF_GR_ENGINE_ACTIVE

表示在一个时间间隔内,GraphicsCompute引擎处于Active的时间占比。

T4、A10、L20(GN8IS)

DCGM_FI_PROF_PIPE_FP64_ACTIVE

表示FP64(双精度)Pipe处于Active状态的周期分数。较高的值代表FP64 Cores有较高的利用率。

T4、A10、L20(GN8IS)

DCGM_FI_PROF_PIPE_FP32_ACTIVE

表示乘加操作FMA(Fused Multiply-Add)管道处于Active的周期分数,乘加操作包括FP32(单精度)和整数。较高的值代表FP32 Cores有较高的利用率。

T4、A10、L20(GN8IS)

DCGM_FI_PROF_PIPE_FP16_ACTIVE

表示FP16(半精度)管道处于Active的周期分数。较高的值代表FP16 Cores有较高的利用率。

T4、A10、L20(GN8IS)

DCGM_FI_PROF_SM_ACTIVE

表示在一个时间间隔内,至少一个线程束在一个SM(Streaming Multiprocessor)上处于Active的时间占比。

T4、A10、L20(GN8IS)、P16EN

DCGM_FI_PROF_SM_OCCUPANCY

表示在一个时间间隔内,驻留在SM上的线程束与该SM最大可驻留线程束的比例。

T4、A10、L20(GN8IS)、P16EN

DCGM_FI_PROF_PIPE_TENSOR_ACTIVE

表示Tensor(HMMA/IMMA) Pipe处于Active状态的周期分数。较高的值表示Tensor Cores的利用率较高。

T4、A10、L20(GN8IS)、P16EN

DCGM_FI_PROF_DRAM_ACTIVE

表示内存带宽利用率(Memory BW Utilization)将数据发送到设备内存或从设备内存接收数据的周期分数。较高的值表示设备内存的利用率较高。

T4、A10、L20(GN8IS)、P16EN

DCGM_FI_PROF_NVLINK_TX_BYTES

通过NVLink发送的总字节数,包括协议标头和数据有效负载。

T4、A10、L20(GN8IS)、P16EN

DCGM_FI_PROF_NVLINK_RX_BYTES

通过NVLink接收的总字节数,包括协议标头和数据有效负载。

T4、A10、L20(GN8IS)、P16EN

DCGM_CUSTOM_PROF_TENS_TFPS_USED

表示GPU张量核心使用情况。

T4、A10、L20(GN8IS)、P16EN

常见问题

除了上述卡型外,其他GPU卡型是否支持暂停相关指标的采集?

该方法同样可用于其他卡型的GPU设备,但这些卡型在指标采集时可以同时使用NVIDIA Nsight Compute、NVIDIA Nsight Systems等性能分析工具,并无冲突问题,因此不需要暂停相关指标的采集。

指标采集开关可以频繁切换吗?切换是否有冷静期?

指标采集恢复后,再次发起暂停前需要等待60秒,在冷静期操作暂停采集(curl -X POST http://localhost:9501/profmetric/pause)会有以下提示信息,需要在冷静期结束之后再执行。

Operation is rejected. Reason: gpu metrics collection switch is just modified, please retry after about 54 seconds