ACS默认开启的GPU设备监控因部分监控指标仅支持单进程独立采集,会与NVIDIA Nsight等性能分析工具产生冲突。这会导致在T4、A10、L20(GN8IS)、P16EN卡型上无法正常采集数据,产生CUPTI
或DCGM
错误,通过临时暂停部分监控指标采集可解决该问题。
操作指南
查看GPU Pod部分监控指标采集状态
通过终端连接到GPU Pod的容器。
登录容器计算服务控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
单击目标GPU Pod右侧操作列的终端,连接到目标容器。
查看监控指标采集的状态。
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部分监控指标采集
使用默认参数
在默认周期内(600秒)暂停GPU Pod特定监控指标的采集。
curl -X POST http://localhost:9501/profmetric/pause
预期输出:
Successfully pause metrics collection for 600 seconds
表示特定监控指标的采集将默认暂停600秒。
指定暂停时间参数
在指定周期内暂停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部分监控指标采集
恢复已暂停采集的监控指标。
curl -X POST http://localhost:9501/profmetric/resume
预期输出:
Successfully resume metrics collection
预期输出表示指标采集已恢复。
生产环境建议
选择合适的时间窗口: 临时暂停监控指标采集可能导致告警失效或误报,建议在业务低峰期执行性能分析,减少对监控告警的影响。
异常退出时应有恢复机制: 使用
curl -X POST http://localhost:9501/profmetric/resume
命令或脚本确保异常退出时恢复特定监控指标采集。
指标与卡型说明
特定卡型在使用性能分析工具时需要临时暂停以下监控指标采集。
指标名 | 说明 | 受影响GPU卡型 |
DCGM_FI_PROF_GR_ENGINE_ACTIVE | 表示在一个时间间隔内,Graphics或Compute引擎处于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