资源监控

更新时间:

您可以参考本节查看开发环境或训练实例的资源监控信息。

# 查看监控

# 查看开发环境的

  1. 在平台 项目 页单击目标项目卡片,进入该项目详情页。
  2. 项目详情页右侧切换至 监控 页签,可查看开发环境资源的使用情况。

    也可以单击 进入开发环境 按钮,进入开发环境,在 监控 页签查看开发环境资源的使用。

# 查看离线训练的

  1. 平台 项目 页中单击项目卡片,进入项目详情页。
  2. 单击详情页右上角的 离线任务,进入离线任务列表页。
  3. 单击任务名或详情,进入该任务详情页。
  4. 详情页右边栏切换至 监控 页签,可查看监控信息,在 任务实例 处切换实例,可查看各实例的资源监控信息。

# 资源监控指标说明

# CPU


含义:监控实例(开发环境/离线训练实例)的 CPU 利用率(%)。
说明:每个 CPU 核都有 100 %,如果该实例使用了6 个 CPU,则利用率可能显示为 600%。
参考意义:如果 CPU 利用率长时间被占满(如 6 核 CPU 长时间利用率为 600%),可考虑调大任务的 CPU 核数,前提是您需确认是您的任务导致 CPU 占满,方法如下:

  1. 在实例中执行 top 命令。
  2. 关注返回信息中的 %CPU 列确认是什么程序占用了较多 CPU,如果是其他无关任务,记住该进程首列的 PID 信息。
  3. ctrl+c 键,返回命令行模式。
  4. 执行 kill -9 PID 命令杀死该进程。

常见问题

  1. CPU折线图为什么会有 800% 利用率?
    每个 CPU 的核都是 100%,使用了 8 个核就是 800%。

# 内存


含义:监控实例各个时刻的内存用量(MB)。
说明:但折线图中并未提供实例内存总量的参考线,您需自行查看实例规格确认该实例的内存总量,以做参考。
参考意义:如果确认是您的研发任务导致的 内存 长时间被占满,可考虑调大该任务的 内存 量,否则应停止其他无关任务。

# 虚拟 GPU 平均利用率


含义:该实例平均每张虚拟 GPU 卡的利用率。
说明:虚拟 GPU 是动态调用的,只有使用虚拟 GPU 时才会有监控信息,反之不显示。
参考意义

  • 场景①,持续利用率 100%。
    即 GPU 算力不足,可确认 存储 R/W网络 I/O 是否已是高位,如果不是,可相应增加该任务的 GPU 算力资源。
  • 场景②,持续利用率偏低。
    • 如果 存储 R/W网络 I/O 已是高位,则是该任务 GPU 资源配置过多,可相应调小。
    • 如果 存储 R/W网络 I/O 也不高,则可能是该任务所配置的资源整体过高,可相应调小;也可能是您的训练任务本身没有充分利用资源,可修改任务训练的方式。
  • 场景③,利用率规律性忽高忽低。
    可能存在其他资源瓶颈,比如,执行任务时利用率始终保持在 70% 左右,突然有一段时间降低为 50%,30s 后恢复 70% 左右,过段时间又降低到 50%,而后又恢复到 70% 左右,则可能是这段时间需要写数据,存储写速度已达到瓶颈,导致 GPU 利用率降低。
    此类场景下,建议先确认是否有其他资源的使用处于满负荷状态,如果是 CPU/内存/显存 满负荷使用,可相应增加该类资源。

常见问题

  1. 为何平台显卡利用率低?
    显卡利用率受如下因素影响,您可以优化后重新提交任务:

    • 任务所用框架。框架版本过高、过低,transorformers 某些库因版本太高可能存在 bug,都有可能导致显卡利用率低,如果可以,建议您尽量更换为常用框架的常用版本。
    • 代码本身的问题。
    • 任务参数的设置,例如 worker 数。
  2. GPU和显存的监控信息为何都为空?
    任务使用 GPU 时才能看到,未使用则为空;如果使用到了仍为空,建议检查代码和环境(如 pip 各软件包版本)是否有问题。

  3. 显存有监控数据,为何GPU为空?
    可能是任务只是加载数据到显存,而未使用 GPU 去计算。

# 虚拟 GPU 平均显存


含义:该实例平均每张虚拟 GPU 卡的显存使用量。
说明:但折线图中并未提供实例显存总量的参考线,您需自行查看实例规格确认该实例的显存总量,以做参考。
参考意义:可参考 虚拟 GPU 平均利用率 理解。

# 存储 R/W


含义:该指标监控实例每秒读/写磁盘的次数。
参考意义:每次涉及读写时,该指标都处于高位,而 CPU、显存、GPU、内存的利用率都还不是很高的情况下,可相应提高他们的资源量以提高任务的运行效率。

# 网络 I/O


含义:指实例的网卡与内存之间的输入/输出速率(KB/s)。
参考意义:该指标持续较高,而 CPU、显存、GPU、内存的利用率都还不是很高的情况下,可相应提高他们的资源量以提高任务的运行效率。

# 相关命令

您可在实例中执行如下命令查看资源消耗并管理资源。

命令 描述
top 动态监控进程所占系统的资源,以及系统整体的运行状态和资源消耗信息。退出该进程返回命令行执行 Ctrl + c 快捷键
free -h 查看当前内存使用情况。
ps -aux 查看环境当前所起进程,及进程占用的系统资源和基本信息。也可使用 ps -ef 查看进程。
vmstat 显示 Linux 系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。
kill -9 PID 强制终止进程号为 PID 的进程,PID 可通过 ps -ef 查看。
jobs 查看所有的后台任务。