本文介绍通过阿里云ARMS Prometheus对GPU资源进行监控,查看GPU各项指标。
使用阿里云ARMS Prometheus进行GPU监控
- 登录容器服务管理控制台。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在Prometheus监控大盘列表页面,单击GPU APP和GPU Node页签,您分别可以看到GPU APP和GPU Node两个监控大盘。
- GPU APP用于监控Pod的GPU使用情况。
- GPU Node用于监控集群节点的GPU使用情况。
- 使用以下YAML文件在GPU节点上部署一个服务,测试监控效果。
apiVersion: apps/v1
kind: Deployment
metadata:
name: bert-intent-detection
spec:
replicas: 1
selector:
matchLabels:
app: bert-intent-detection
template:
metadata:
labels:
app: bert-intent-detection
spec:
containers:
- name: bert-container
image: registry.cn-beijing.aliyuncs.com/ai-samples/bert-intent-detection:1.0.1
ports:
- containerPort: 80
resources:
limits:
nvidia.com/gpu: 1
---
apiVersion: v1
kind: Service
metadata:
labels:
run: bert-intent-detection
name: bert-intent-detection-svc
spec:
ports:
- port: 8500
targetPort: 80
selector:
app: bert-intent-detection
type: LoadBalancer
- 在Prometheus监控大盘列表页面,单击GPU APP页签。
在
GPU APP监控页面,您可以看到GPU显存、使用率、电量、稳定性几项指标,以及部署在GPU节点上的应用。

- 压测部署在GPU节点上的应用,查看监控状态的变化。
- 执行以下命令查看推理服务并获取IP地址。
kubectl get svc bert-intent-detection-svc
预期输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bert-intent-detection-svc LoadBalancer 172.23.5.253 123.56.XX.XX 8500:32451/TCP 14m
- 执行以下命令进行压测。
hey -z 10m -c 100 "http://123.56.XX.XX:8500/predict?query=music"
下图可以看出压测时,GPU利用率有了明显的变化。
