监控 GPU 性能

为了帮助提高资源利用率,您可以跟踪实例的 GPU 利用率。在了解 GPU 利用率之后,您可以执行多项任务,如设置可用于根据需要自动扩缩资源托管实例组

如需使用 Cloud Monitoring 查看 GPU 指标,请完成以下步骤:

  1. 在每个虚拟机实例上,设置 GPU 指标报告脚本。 此脚本将执行以下任务:

    • 安装 GPU 指标报告代理。此代理会在实例上定期运行来收集 GPU 数据,并将这些数据发送到 Cloud Monitoring。
    • 在 Cloud Monitoring 中创建 custom/gpu_utilization 指标字段。 此字段用于存储可在 Cloud Monitoring 中分析的 GPU 特定数据。
  2. 在 Google Cloud Cloud Monitoring 中查看日志

设置 GPU 指标报告脚本

  1. 检查每个虚拟机实例都满足以下要求:

  2. 在每个虚拟机实例上,安装 GPU 指标代理。要安装指标代理,请完成以下步骤:

    1. 下载 GPU 指标报告脚本。

      git clone https://github.com/GoogleCloudPlatform/tensorflow-inference-tensorrt5-t4-gpu.git
    2. 切换到 metrics_reporting 文件夹。

      cd tensorflow-inference-tensorrt5-t4-gpu/metrics_reporting
    3. 为指标代理设置安装环境。

      pip install -r ./requirements.txt
    4. 将指标报告脚本移至您的根目录。

      sudo cp report_gpu_metrics.py /root/
    5. 启用 GPU 指标代理。

      cat <<-EOH > /lib/systemd/system/gpu_utilization_agent.service
      [Unit]
      Description=GPU Utilization Metric Agent
      [Service]
      PIDFile=/run/gpu_agent.pid
      ExecStart=/bin/bash --login -c '/usr/bin/python /root/report_gpu_metrics.py'
      User=root
      Group=root
      WorkingDirectory=/
      Restart=always
      [Install]
      WantedBy=multi-user.target
      EOH
      
    6. 重新加载系统守护进程。

      systemctl daemon-reload
    7. 启用 GPU 监控服务。

      systemctl --no-reload --now enable /lib/systemd/system/gpu_utilization_agent.service

在 Cloud Monitoring 中查看指标

  1. 在 Google Cloud Console 中,选择 Monitoring 或使用如下按钮:

    转到 Monitoring

  2. 如果导航窗格中显示 Metrics Explorer,请点击 Metrics Explorer。否则,请选择 Resources,然后选择 Metrics Explorer

  3. 搜索 gpu_utilization

    Cloud Monitoring 启动屏幕截图。

  4. 您的 GPU 利用率应与以下输出内容类似:

    Cloud Monitoring 运行屏幕截图。

  5. (可选)使用托管实例组设置自动扩缩。 若要开始使用,您可以查看 TensorFlow 推理工作负载教程中的设置多地区集群部分。

后续步骤