NVIDIA nvidia-smi 中文使用手册

nvidia-smi 是一个命令行工具,用于监控和管理 NVIDIA GPU 的状态和性能。以下是它的主要功能和使用方法:

主要功能

  1. 监控 GPU 使用情况:可以查看 GPU 的利用率、显存使用情况、温度等信息。

  2. 管理 GPU 任务:可以启动、停止和监控在 GPU 上运行的任务。

  3. 配置 GPU 设置:可以调整 GPU 的功率限制、时钟频率等参数。

常用命令

  • 查看 GPU 信息

    nvidia-smi
    

    这将显示当前 GPU 的状态,包括 GPU 利用率、显存使用、温度等。

  • 定期刷新显示

    watch -n 1 nvidia-smi
    

    每秒刷新一次 GPU 状态信息。

  • 将信息输出到文件

    nvidia-smi > gpu_info.txt
    

    将 GPU 信息输出到 gpu_info.txt 文件中。

  • 查看详细帮助信息

    nvidia-smi -h
    

    显示所有可用的命令和选项。

示例输出解释

运行 nvidia-smi 后,你可能会看到类似以下的输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.29       Driver Version: 495.29       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ... WDDM  | 00000000:01:00.0  On |                  N/A |
| 30%   45C    P8    10W / 250W |   2048MiB /  8192MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
  • GPU 0:表示第一块 GPU。

  • NVIDIA GeForce ...:GPU 的型号。

  • Temp:当前温度(45°C)。

  • Pwr:Usage/Cap:当前功率使用情况(10W)和最大功率(250W)。

  • Memory-Usage:当前显存使用情况(2048MiB 已用,8192MiB 总容量)。

  • GPU-Util:GPU 利用率(0%)。

高级用法

如果你需要更详细的监控或自动化任务,可以结合 nvidia-smi 和其他工具(如 grepawk)来解析输出数据。例如,提取当前 GPU 的温度:

nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader

这将直接输出 GPU 的温度值,便于在脚本中使用。

Image

接下来,我们看一下其中文使用手册。

名称 nvidia-smi - NVIDIA 系统管理接口程序

概要 nvidia-smi [OPTION1 [ARG1]] [OPTION2 [ARG2]] ...

描述 nvidia-smi(也称为 NVSMI)为 NVIDIA 的 Tesla、Quadro、GRID 和 GeForce 系列中 Fermi 架构及更高版本的设备提供监控和管理功能。GeForce Titan 系列设备支持大部分功能,但对于 GeForce 品牌的其他设备,提供的信息非常有限。NVSMI 是一个跨平台工具,支持所有标准 NVIDIA 驱动支持的 Linux 发行版,以及从 Windows Server 2008 R2 开始的 64 位 Windows 版本。用户可以通过标准输出直接获取指标数据,或者通过 CSV 和 XML 格式将数据提供给脚本以供进一步处理。

请注意,NVSMI 的许多功能是由底层的 NVML C 基础库提供的。有关 NVML 的更多信息,请访问 NVIDIA 开发者网站。基于 NVML 的 Python 绑定也已推出。

NVSMI 的输出不能保证向后兼容。然而,NVML 和 Python 绑定是向后兼容的,如果需要编写能够在不同 NVIDIA 驱动版本中维护的工具,它们应作为首选。

NVML SDK: http://developer.nvidia.com/nvidia-management-library-nvml/

Python 绑定: http://pypi.python.org/pypi/nvidia-ml-py/

选项

通用选项

-h, --help 打印使用信息并退出。

摘要选项

-L, --list-gpus 列出系统中的每个 NVIDIA GPU 以及它们的 UUID。

查询选项

-q, --query 显示 GPU 或 Unit 信息。显示的信息包括本文档“GPU 属性”或“Unit 属性”部分中列出的所有数据。有些设备和/或环境不支持所有可能的信息。任何不支持的数据在输出中会以“N/A”表示。默认情况下,会显示所有可用 GPU 或 Units 的信息。使用-i选项可以将输出限制为单个 GPU 或 Unit。

[可选] -u, --unit 显示 Unit 数据而不是 GPU 数据。Unit 数据仅适用于 NVIDIA S 级 Tesla 机箱。

-i, --id=ID 显示指定 GPU 或 Unit 的数据。指定的 ID 可能是驱动程序返回的自然枚举中 GPU/Unit 的 0 基索引、GPU 的板载序列号、GPU 的 UUID 或 GPU 的 PCI 总线 ID(以域:总线:设备.功能的十六进制形式表示)。建议希望一致性的用户使用 UUID 或 PCI 总线 ID,因为设备枚举顺序在重新启动之间可能不一致,而板载序列号可能在同一块板上的多个 GPU 之间共享。

-f FILE, --filename=FILE 将查询输出重定向到指定文件,而不是默认的标准输出。指定的文件将被覆盖。

-x, --xml-format 产生 XML 输出,而不是默认的人类可读格式。GPU 和 Unit 查询输出都符合相应的 DTD。这些 DTD 可通过--dtd标志获取。

--dtd 与-x一起使用。在 XML 输出中嵌入 DTD。

--debug=FILE 生成加密的调试日志,用于向 NVIDIA 提交错误。

-d TYPE, --display=TYPE 仅显示选定信息:MEMORY(内存)、UTILIZATION(利用率)、ECC(错误检查和纠正)、TEMPERATURE(温度)、POWER(功耗)、CLOCK(时钟)、COMPUTE(计算)、PIDS(进程 ID)、PERFORMANCE(性能)、SUPPORTED_CLOCKS(支持的时钟)、PAGE_RETIREMENT(页面退役)、ACCOUNTING(会计)。标志可以用逗号组合,例如“MEMORY,ECC”。对于 POWER、UTILIZATION 和 CLOCK 显示类型,还会返回采样数据的最大值、最小值和平均值。此选项不能与-u/--unit-x/--xml-format标志一起使用。

-l SEC, --loop=SEC 按指定的时间间隔连续报告查询数据,而不是默认仅报告一次。应用程序将在查询之间休眠。注意,在 Linux 上,如果未指定-x标志,则在休眠期间 ECC 错误或 XID 错误事件会打印出来。在任何时间按下 Ctrl+C 将中止循环,否则循环将无限运行。如果未为-l形式指定参数,则使用默认的 5 秒间隔。

选择性查询选项

允许调用者传递显式的属性列表进行查询。

[其中一个] --query-gpu= 关于 GPU 的信息。传递逗号分隔的属性列表,例如--query-gpu=pci.bus_id,persistence_mode。调用--help-query-gpu获取更多信息。

--query-supported-clocks= 支持的时钟列表。调用--help-query-supported-clocks获取更多信息。

--query-compute-apps= 当前活动的计算进程列表。调用--help-query-compute-apps获取更多信息。

--query-accounted-apps= 已计费的计算进程列表。调用--help-query-accounted-apps获取更多信息。

--query-retired-pages= 已退役的 GPU 设备内存页面列表。调用--help-query-retired-pages获取更多信息。

[必须] --format= 逗号分隔的格式选项列表: · csv - 逗号分隔值(MANDATORY,强制) · noheader - 跳过带有列标题的第一行 · nounits - 不要为数值打印单位

[加上任意] -i, --id=ID 显示指定 GPU 的数据。指定的 ID 可能是驱动程序返回的自然枚举中 GPU 的 0 基索引、GPU 的板载序列号、GPU 的 UUID 或 GPU 的 PCI 总线 ID(以域:总线:设备.功能的十六进制形式表示)。建议希望一致性的用户使用 UUID 或 PCI 总线 ID,因为设备枚举顺序在重新启动之间可能不一致,而板载序列号可能在同一块板上的多个 GPU 之间共享。

-f FILE, --filename=FILE 将查询输出重定向到指定文件,而不是默认的标准输出。指定的文件将被覆盖。

-l SEC, --loop=SEC 按指定的时间间隔连续报告查询数据,而不是默认仅报告一次。应用程序将在查询之间休眠。注意,在 Linux 上,如果未指定-x标志,则在休眠期间 ECC 错误或 XID 错误事件会打印出来。在任何时间按下 Ctrl+C 将中止循环,否则循环将无限运行。如果未为-l形式指定参数,则使用默认的 5 秒间隔。

-lms ms, --loop-ms=ms 与-l,--loop相同,但以毫秒为单位。

设备修改选项

[其中一个] -pm, --persistence-mode=MODE 设置目标 GPU 的持久模式。有关持久模式的描述,请参阅“GPU 属性”部分。需要 root 权限。除非使用-i参数指定单个 GPU,否则会影响所有 GPU。此操作的效果是立即的。然而,它在重新启动后不会保留。每次重新启动后,持久模式将默认为“已禁用”。仅在 Linux 上可用。

-e, --ecc-config=CONFIG 设置目标 GPU 的 ECC 模式。有关 ECC 模式的描述,请参阅“GPU 属性”部分。需要 root 权限。除非使用-i参数指定单个 GPU,否则会影响所有 GPU。此设置在下次重新启动后生效,并且是持久的。

-p, --reset-ecc-errors=TYPE 重置目标 GPU 的 ECC 错误计数器。有关 ECC 错误计数器类型的描述,请参阅“GPU 属性”部分。可用参数为 0|VOLATILE 或 1|AGGREGATE。需要 root 权限。除非使用-i参数指定单个 GPU,否则会影响所有 GPU。此操作的效果是立即的。

-c, --compute-mode=MODE 设置目标 GPU 的计算模式。有关计算模式的描述,请参阅“GPU 属性”部分。需要 root 权限。除非使用-i参数指定单个 GPU,否则会影响所有 GPU。此操作的效果是立即的。然而,它在重新启动后不会保留。每次重新启动后,计算模式将重置为“DEFAULT”。

-dm TYPE, --driver-model=TYPE -fdm TYPE, --force-driver-model=TYPE 在 Windows 上启用或禁用 TCC 驱动模型。需要管理员权限。-dm会在连接显示器时失败,但-fdm会强制更改驱动模型。除非使用-i参数指定单个 GPU,否则会影响所有 GPU。需要重新启动才能使更改生效。有关 Windows 驱动模型的更多信息,请参阅 Driver Model。

--gom=MODE 设置 GPU 操作模式:0/ALL_ON,1/COMPUTE,2/LOW_DP。适用于 Kepler 家族的 GK110 M 级和 X 级 Tesla 产品。不适用于 Quadro 和 Tesla C 级产品。LOW_DP 和 ALL_ON 是 GeForce Titan 设备上唯一支持的模式。需要管理员权限。有关 GOM 的更多信息,请参阅 GPU 操作模式。GOM 更改在重新启动后生效。未来可能会移除重新启动的要求。仅计算 GOM 不支持 WDDM(Windows 显示驱动模型)。

-r, --gpu-reset 触发 GPU 重置。可用于清除 GPU 的硬件和软件状态,否则将需要机器重新启动。通常在发生双比特 ECC 错误时有用。需要-i开关来指定特定设备。需要 root 权限。不能有任何应用程序正在使用此特定设备(例如 CUDA 应用程序、图形应用程序如 X 服务器、监控应用程序如其他 nvidia-smi 实例)。还不能有任何计算应用程序在系统中的其他 GPU 上运行。仅在 Fermi 和 Kepler 家族的受支持设备上运行 Linux 时可用。

GPU 重置在所有情况下都不能保证正常工作。目前不建议在生产环境中使用。在某些情况下,板载的硬件组件可能在重置请求后无法恢复到初始状态。这在 Fermi 代产品上比在 Kepler 上更有可能出现,而且如果在挂起的 GPU 上执行重置,则更有可能出现这种情况。 在重置后,建议在进一步使用之前验证 GPU 的健康状况。nvidia-healthmon 工具是进行此测试的良好选择。如果 GPU 不健康,则应通过节点断电来完成重置。

-ac, --applications-clocks=MEM_CLOCK,GRAPHICS_CLOCK 指定运行应用程序时 GPU 的<内存,图形>时钟对的最大值(例如 2000,800),定义 GPU 在运行应用程序时的速度。适用于 Kepler + 家族的 Tesla 设备和基于 Maxwell 的 GeForce Titan。除非通过-acp命令放宽限制,否则需要 root 权限。

-rac, --reset-applications-clocks 将应用程序时钟重置为默认值。适用于 Kepler + 家族的 Tesla 设备和基于 Maxwell 的 GeForce Titan。除非通过-acp命令放宽限制,否则需要 root 权限。

-acp, --applications-clocks-permission=MODE 切换是否允许所有用户或仅 root 更改应用程序时钟。可用参数为 0|UNRESTRICTED,1|RESTRICTED。适用于 Kepler + 家族的 Tesla 设备和基于 Maxwell 的 GeForce Titan。需要 root 权限。

-pl, --power-limit=POWER_LIMIT 指定最大功耗限制,以瓦特为单位。接受整数和浮点数。仅在 Kepler 家族的受支持设备上可用。需要管理员权限。值需要在 nvidia-smi 报告的最小和最大功耗限制之间。

-am, --accounting-mode=MODE 启用或禁用 GPU 计费。通过 GPU 计费,可以跟踪单个进程在其生命周期内对资源的使用情况。仅在 Kepler 家族的受支持设备上可用。需要管理员权限。可用参数为 0|DISABLED 或 1|ENABLED。

-caa, --clear-accounted-apps 清除到目前为止已计费的所有进程。仅在 Kepler 家族的受支持设备上可用。需要管理员权限。

--auto-boost-default=MODE 将默认自动加速策略设置为 0/DISABLED 或 1/ENABLED,仅在最后一个加速客户端退出后强制更改。仅适用于某些 Kepler + 家族的 Tesla 设备和基于 Maxwell 的 GeForce 设备。需要 root 权限。

--auto-boost-default-force=MODE 将默认自动加速策略设置为 0/DISABLED 或 1/ENABLED,并立即强制更改。仅适用于某些 Kepler + 家族的 Tesla 设备和基于 Maxwell 的 GeForce 设备。需要 root 权限。

--auto-boost-permission=MODE 允许非管理员/根用户控制自动加速模式。可用参数为 0|UNRESTRICTED,1|RESTRICTED。仅适用于某些 Kepler + 家族的 Tesla 设备和基于 Maxwell 的 GeForce 设备。需要 root 权限。

[加上可选] -i, --id=ID 修改指定 GPU。指定的 ID 可能是驱动程序返回的自然枚举中 GPU 的 0 基索引、GPU 的板载序列号、GPU 的 UUID 或 GPU 的 PCI 总线 ID(以域:总线:设备.功能的十六进制形式表示)。建议希望一致性的用户使用 UUID 或 PCI 总线 ID,因为设备枚举顺序在重新启动之间可能不一致,而板载序列号可能在同一块板上的多个 GPU 之间共享。

Unit 修改选项

-t, --toggle-led=STATE 将 Unit 前后部的 LED 指示灯状态设置为指定颜色。有关 LED 状态的描述,请参阅“Unit 属性”部分。允许的颜色为 0|GREEN 和 1|AMBER。需要 root 权限。

[加上可选] -i, --id=ID 修改指定 Unit。指定的 ID 是驱动程序返回的自然枚举中 Unit 的 0 基索引。

显示 DTD 选项

--dtd 显示设备或 Unit DTD。

[加上可选] -f FILE, --filename=FILE 将查询输出重定向到指定文件,而不是默认的标准输出。指定的文件将被覆盖。

-u, --unit 显示 Unit DTD 而不是设备 DTD。

stats 显示有关 GPU 的统计信息。使用“nvidia-smi stats -h”获取更多信息。仅在 Linux 上可用。

topo 显示有关系统拓扑的信息。使用“nvidia-smi topo -h”获取更多信息。仅在 Linux 上可用。将显示所有 NVIDIA NVML 能够检测到的 GPU,但 CPU 亲和力信息仅在 Kepler 或更新架构的 GPU 上显示。注意:GPU 枚举与 NVML 中的相同。

nvlink 显示 nvlink 信息。使用“nvidia-smi nvlink -h”获取更多信息。

clocks 查询和控制时钟行为。目前,这仅与同步加速有关。使用“nvidia-smi clocks --help”获取更多信息。

vgpu 显示有关 GRID 虚拟 GPU 的信息。使用“nvidia-smi vgpu -h”获取更多信息。

返回值 返回代码反映操作是否成功以及失败的原因(如果有)。 · 返回代码 0 - 成功 · 返回代码 2 - 提供的参数或标志无效 · 返回代码 3 - 请求的操作在目标设备上不可用 · 返回代码 4 - 当前用户无权访问此设备或执行此操作 · 返回代码 6 - 查询对象失败 · 返回代码 8 - 设备的外部电源线未正确连接 · 返回代码 9 - 未加载 NVIDIA 驱动程序 · 返回代码 10 - NVIDIA 内核检测到 GPU 的中断问题 · 返回代码 12 - 未找到或无法加载 NVML 共享库 · 返回代码 13 - 本地版本的 NVML 不支持此功能 · 返回代码 14 - infoROM 损坏 · 返回代码 15 - GPU 已从总线上脱落或无法访问 · 返回代码 255 - 其他错误或内部驱动程序错误

GPU 属性 以下列表描述了通过-q设备查询选项返回的所有可能数据。除非另有说明,所有数值结果均为基数 10 且无单位。

时间戳 调用 nvidia-smi 时的当前系统时间戳。格式为“星期几 月 日 HH:MM:SS 年”。

驱动程序版本 已安装 NVIDIA 显示驱动程序的版本。这是一个字母数字字符串。

已连接 GPU 系统中 NVIDIA GPU 的数量。

产品名称 GPU 的官方产品名称。这是一个字母数字字符串。适用于所有产品。

显示模式 标志,指示是否有物理显示器(例如显示器)连接到 GPU 的任何连接器。“已启用”表示已连接显示器。“已禁用”表示未连接。

显示活动 标志,指示 GPU 上是否已初始化显示器(例如设备上已分配内存用于显示)。即使没有物理显示器连接,显示器也可以处于活动状态。“已启用”表示显示器处于活动状态。“已禁用”表示未处于活动状态。

持久模式 标志,指示是否为 GPU 启用了持久模式。值为“已启用”或“已禁用”。当启用持久模式时,即使没有活动客户端(例如 X11 或 nvidia-smi),NVIDIA 驱动程序也会保持加载状态。这可以减少运行依赖应用程序(例如 CUDA 程序)的驱动程序加载延迟。适用于所有 CUDA 能力的产品。仅在 Linux 上可用。

计费模式 标志,指示是否为 GPU 启用了计费模式。值为“已启用”或“已禁用”。当启用计费模式时,将为在 GPU 上运行的每个计算进程计算统计信息。可以在进程的生命周期内或进程终止后查询统计信息。进程在运行状态时报告的执行时间为 0,进程终止后更新为实际执行时间。有关更多信息,请参阅--help-query-accounted-apps

计费模式缓冲区大小 返回用于存储可查询计费统计信息的进程列表的循环缓冲区大小。这是计费信息将存储的最大进程数,在此之后最早进程的信息将被新进程的信息覆盖。

驱动模型 在 Windows 上,支持 TCC 和 WDDM 驱动模型。可以使用(-dm)(-fdm)标志更改驱动模型。TCC 驱动模型针对计算应用程序进行了优化。例如,内核启动时间在 TCC 下会更快。WDDM 驱动模型针对图形应用程序设计,不推荐用于计算应用程序。Linux 不支持多种驱动模型,其值始终为“N/A”。

当前 当前使用的驱动模型。在 Linux 上始终为“N/A”。

待机 下次重新启动时将使用的驱动模型。在 Linux 上始终为“N/A”。

序列号 该编号与物理打印在每块板上的序列号匹配。这是一个全球唯一的不可变字母数字值。

GPU UUID 这是 GPU 的全球唯一不可变字母数字标识符。它不对应板上的任何物理标签。

次要编号 对于设备,次要编号使得 NVIDIA 设备节点文件的形式为/dev/nvidia[次要编号]。仅在 Linux 平台上可用。

VBIOS 版本 GPU 板的 BIOS。

多 GPU 板 是否此 GPU 是多 GPU 板的一部分。

板 ID 驱动程序分配的唯一板 ID。如果两块或多块 GPU 具有相同的板 ID,并且上述“多 GPU”字段为 true,则这些 GPU 位于同一块板上。

inforom 版本 GPU 板的 inforom 存储中每个对象的版本号。inforom 是 GPU 的一小块持久存储,用于配置和状态数据。所有 inforom 版本字段均为数值。了解这些版本号可能很有用,因为某些 GPU 功能仅在特定版本或更高版本的 inforom 上可用。

如果以下任何字段返回未知错误,则会执行额外的 inforom 验证检查,并显示适当的警告消息。

镜像版本 inforom 镜像的全局版本。镜像版本就像 VBIOS 版本一样,唯一描述了板上刷新的 inforom 版本,而 inforom 对象版本只是支持功能的指示器。

OEM 对象版本 OEM 配置数据的对象版本。

ECC 对象版本 ECC 记录数据的对象版本。

电源对象版本 电源管理数据的对象版本。

GPU 操作模式 GOM 可以通过减少 GPU 功耗并优化 GPU 吞吐量来实现,方法是禁用 GPU 功能。 每个 GOM 都旨在满足特定用户需求。 在“All On”模式下,所有功能都已启用并全速运行。 “Compute”模式旨在仅运行计算任务。不允许图形操作。 “Low Double Precision”模式旨在运行不需要高带宽双精度的图形应用程序。 GOM 可以通过(--gom)标志进行更改。

当前 当前使用的 GOM。

待机 下次重新启动时将使用的 GOM。

PCI 基本信息 设备的 PCI 基本信息。每当在系统中添加、移除或移动卡时,其中一些信息可能会发生变化。适用于所有产品。

总线 PCI 总线号,以十六进制表示。

设备 PCI 设备号,以十六进制表示。

域 PCI 域号,以十六进制表示。

设备 ID PCI 供应商设备 ID,以十六进制表示。

子系统 ID PCI 子系统 ID,以十六进制表示。

总线 ID PCI 总线 ID,格式为“域:总线:设备.功能”,以十六进制表示。

GPU 链接信息 PCIe 链路代数和总线宽度。

当前 当前的链路代数和宽度。当 GPU 未使用时,这些可能会降低。

最大 在此 GPU 和系统配置下可能的最大 PCIe 链路代数和宽度。例如,如果 GPU 支持的 PCIe 代数高于系统支持的代数,则报告系统支持的 PCIe 代数。

桥芯片 有关设备上桥芯片的信息。桥芯片固件仅存在于某些板上,对于一些较新的多 GPU 板,可能会显示“N/A”。

类型 桥芯片的类型。如果不存在,则报告为“N/A”。

固件版本 桥芯片的固件版本。如果不存在,则报告为“N/A”。

重放计数器 这是记录 PCIe 总线上各种错误的内部计数器。

Tx 吞吐量 GPU 通过 PCIe 总线传输的吞吐量,单位为 MB/s,过去 20ms 的平均值。仅在 Maxwell 架构及更新版本上受支持。

Rx 吞吐量 GPU 通过 PCIe 总线接收的吞吐量,单位为 MB/s,过去 20ms 的平均值。仅在 Maxwell 架构及更新版本上受支持。

风扇速度 风扇速度值是设备风扇当前预期运行速度的百分比。范围从 0 到 100%。注意:报告的速度是预期的风扇速度。如果风扇被物理阻挡而无法旋转,此输出将与实际风扇速度不匹配。许多部件不报告风扇速度,因为它们依赖于周围机箱的风扇进行冷却。适用于所有带有专用风扇的独立产品。

性能状态 GPU 的当前性能状态。状态范围从 P0(最大性能)到 P12(最小性能)。

时钟节流原因 检索导致时钟频率降低的因素。仅在 Kepler 家族的受支持 Tesla 设备上可用。

如果所有节流原因都返回“未激活”,则表示时钟以尽可能高的频率运行。

空闲 GPU 上没有运行任何程序,时钟频率降低到空闲状态。此限制器可能会在后续版本中移除。

应用程序时钟设置 GPU 时钟受限于应用程序时钟设置。例如,可以使用 nvidia-smi--applications-clocks=进行更改。

软件功耗限制 软件功耗限制算法因 GPU 功耗过高而将时钟频率降低到请求的时钟频率以下。例如,可以使用 nvidia-smi--power-limit=更改软件功耗限制。

硬件降速 硬件降速(将核心时钟频率降低 2 倍或更多)已启用。 这表明以下情况之一:温度过高,外部电源制动断言被触发(例如由系统电源供应),功耗过高且快速触发保护降低了时钟频率。

未知 其他未指定的因素导致时钟频率降低。

FB 内存使用情况 板载帧缓冲区内存信息。报告的总内存受 ECC 状态影响。如果启用了 ECC,可用的总内存将减少几个百分点,因为需要额外的奇偶校验位。驱动程序也可能为内部使用保留少量内存,即使 GPU 上没有活动工作。适用于所有产品。

总计 FB 内存的总大小。

已用 FB 内存的已用大小。

可用 FB 内存的可用大小。

BAR1 内存使用情况 BAR1 用于映射 FB(设备内存),以便 CPU 或第三方设备(在 PCIe 总线上对等)可以直接访问。

总计 BAR1 内存的总大小。

已用 BAR1 内存的已用大小。

可用 BAR1 内存的可用大小。

计算模式 计算模式标志指示是否允许多个或单个计算应用程序在 GPU 上运行。

“默认”表示每个设备允许多个上下文。

“独占进程”表示每个设备仅允许一个上下文,但可以同时从多个线程使用。

“禁止”表示每个设备不允许任何上下文(没有计算应用程序)。

“EXCLUSIVE_PROCESS”是在 CUDA 4.0 中添加的。之前的 CUDA 发布版本仅支持一种独占模式,这相当于 CUDA 4.0 及更高版本中的“EXCLUSIVE_THREAD”。

适用于所有 CUDA 能力的产品。

利用率 利用率报告了每个 GPU 随时间的忙碌程度,可用于确定应用程序对系统中 GPU 的使用程度。

注意:在启用 ECC 的情况下初始化驱动程序时,可能会看到较高的 GPU 和内存利用率。这是由于在驱动程序初始化期间执行的 ECC 内存清理机制所致。

GPU 在过去的采样周期中,一个或多个内核在 GPU 上执行的时间百分比。采样周期可能在 1 秒到 1/6 秒之间,具体取决于产品。

内存 在过去的采样周期中,全局(设备)内存被读取或写入的时间百分比。采样周期可能在 1 秒到 1/6 秒之间,具体取决于产品。

编码器 在过去的采样周期中,GPU 的视频编码器被使用的 时间百分比。采样率是可变的,可以通过 nvmlDeviceGetEncoderUtilization() API 直接获取。

解码器 在过去的采样周期中,GPU 的视频解码器被使用的 时间百分比。采样率是可变的,可以通过 nvmlDeviceGetDecoderUtilization() API 直接获取。

ECC 模式 标志,指示是否启用了 ECC 支持。可能是“已启用”或“已禁用”。ECC 模式的更改需要重新启动。需要 inforom ECC 对象版本 1.0 或更高。

当前 GPU 当前运行的 ECC 模式。

待机 下次重新启动后 GPU 将运行的 ECC 模式。

ECC 错误 NVIDIA GPU 可以为各种类型的 ECC 错误提供计数。某些 ECC 错误是单比特或双比特,其中单比特错误会被自动纠正,而双比特错误无法纠正。纹理内存错误可能通过重发纠正或如果重发失败则无法纠正。这些错误在两个时间尺度上可用(易失性和聚合)。单比特 ECC 错误会自动被硬件纠正,不会导致数据损坏。检测到双比特错误,但不会纠正。请参阅 Web 上的 ECC 文档,了解计算应用程序在发生双比特错误时的行为。易失性错误计数器跟踪自上次驱动程序加载以来检测到的错误数量。聚合错误计数器持续存在,因此作为终身计数器。

关于易失性计数的说明:在 Windows 上,这是每次引导一次。在 Linux 上,这可能更频繁。在 Linux 上,当没有活动客户端时,驱动程序会卸载。因此,如果启用了持久模式或始终有驱动程序客户端活动(例如 X11),则 Linux 也会表现出每次引导的行为。否则,易失性计数器会在每次运行计算应用程序时重置。

Fermi 和 Kepler 家族的 Tesla 和 Quadro 产品可以显示总的 ECC 错误计数,以及基于芯片上位置的错误分解。位置描述如下。基于位置的数据对于聚合错误计数需要 inforom ECC 对象版本 2.0。所有其他 ECC 计数需要 ECC 对象版本 1.0。

设备内存 在全局设备内存中检测到的错误。

寄存器文件 在寄存器文件内存中检测到的错误。

L1 缓存 在 L1 缓存中检测到的错误。

L2 缓存 在 L2 缓存中检测到的错误。

纹理内存 在纹理内存中检测到的奇偶校验错误。

总计 在整个芯片上检测到的错误总数。设备内存、寄存器文件、L1 缓存、L2 缓存和纹理内存的总和。

页面退役 NVIDIA GPU 可以退役 GPU 设备内存页面,当这些页面变得不可靠时。这可能发生在同一页面出现多次单比特 ECC 错误,或出现双比特 ECC 错误时。当页面退役时,NVIDIA 驱动程序会隐藏该页面,使得任何驱动程序或应用程序内存分配都无法访问它。

双比特 ECC 由于双比特 ECC 错误而退役的 GPU 设备内存页面数量。

单比特 ECC 由于多次单比特 ECC 错误而退役的 GPU 设备内存页面数量。

待处理检查 是否有 GPU 设备内存页面在下次重新启动时待退役。仍可分配待退役的页面,这可能会导致进一步的可靠性问题。

温度 从板上的温度传感器读取的温度。所有读数均以摄氏度为单位。并非所有产品都支持所有类型的读数。特别是,依赖机箱风扇或被动冷却的模块化形式因素产品通常不提供温度读数。请参阅以下限制。

GPU 核心 GPU 温度。适用于所有独立和 S 级产品。

关机温度 GPU 将关机的温度。

降速温度 GPU 将开始自行降速以冷却的温度。

功耗读数 功耗读数有助于了解 GPU 当前的功耗情况,以及影响功耗的因素。当启用功耗管理时,GPU 会通过调整当前性能状态,将负载下的功耗限制在预定义的功耗包络内。请参阅以下可用性的限制。

功耗状态 功耗状态已弃用,并在 2.285 版本中重命名为性能状态。为了保持 XML 兼容性,性能状态在 XML 输出中同时列在两个位置。

功耗管理 标志,指示是否启用了功耗管理。要么是“支持”,要么是“N/A”。需要 inforom PWR 对象版本 3.0 或更高,或 Kepler 设备。

功耗读数 上次测量的整个板的功耗,单位为瓦特。仅在支持功耗管理时可用。此读数在 +/- 5 瓦特范围内准确。需要 inforom PWR 对象版本 3.0 或更高,或 Kepler 设备。

功耗限制 软件设置的功耗限制,单位为瓦特。仅在支持功耗管理时可用。需要 inforom PWR 对象版本 3.0 或更高,或 Kepler 设备。在 Kepler 设备上,可以使用-pl,--power-limit=开关调整功耗限制。

强制功耗限制 功耗管理算法的功耗上限,单位为瓦特。总板功耗被功耗管理算法操纵,使其保持在此值以下。此限制是各种限制中的最小值,例如上面提到的软件限制。仅在支持功耗管理时可用。需要 Kepler 设备。

默认功耗限制 功耗管理算法的默认功耗上限,单位为瓦特。在驱动程序卸载后,功耗限制将重置为默认值。仅在 Kepler 家族的受支持设备上可用。

最小功耗限制 可以设置的功耗限制的最小值,单位为瓦特。仅在 Kepler 家族的受支持设备上可用。

最大功耗限制 可以设置的功耗限制的最大值,单位为瓦特。仅在 Kepler 家族的受支持设备上可用。

时钟 当前 GPU 各部分的运行频率。所有读数均以兆赫为单位。

图形 当前图形(着色器)时钟的频率。

SM 当前 SM(流多处理器)时钟的频率。

内存 当前内存时钟的频率。

视频 当前视频(编码器 + 解码器)时钟的频率。

应用程序时钟 用户指定的应用程序运行频率。可以通过[-ac | --applications-clocks]开关进行更改。

图形 用户指定的图形(着色器)时钟频率。

内存 用户指定的内存时钟频率。

默认应用程序时钟 应用程序运行的默认频率。应用程序时钟可以通过[-ac | --applications-clocks]开关进行更改。可以使用[-rac | --reset-applications-clocks]开关将应用程序时钟重置为默认值。

图形 默认的应用程序图形(着色器)时钟频率。

内存 默认的应用程序内存时钟频率。

最大时钟 GPU 设计运行的最大频率。所有读数均以兆赫为单位。

在 Fermi 家族的 GPU 上,当前 P0 时钟(在时钟部分报告)可能比最大时钟低几兆赫。

图形 图形(着色器)时钟的最大频率。

SM SM(流多处理器)时钟的最大频率。

内存 内存时钟的最大频率。

视频 视频(编码器 + 解码器)时钟的最大频率。

时钟策略 用户指定的自动时钟更改设置,例如自动加速。

自动加速 指示当前是否为该 GPU 启用了自动加速模式(开启)或已禁用(关闭)。如果加速不受支持,则显示(N/A)。自动加速允许基于功耗、温度和利用率动态调整 GPU 时钟。当自动加速被禁用时,GPU 将尝试将时钟保持在尽可能接近当前应用程序时钟设置的水平(每当 CUDA 上下文处于活动状态时)。启用自动加速后,GPU 仍将尝试保持这个下限,但会在功耗、温度和利用率允许的情况下,适时提升到更高的时钟频率。此设置在请求它的 CUDA 上下文的生命周期内有效。应用程序可以通过 NVML 调用来请求特定模式(参见 NVML SDK),或者通过设置 CUDA 环境变量 CUDA_AUTO_BOOST 来请求。

自动加速默认值 指示自动加速模式的默认设置,要么是开启(启用),要么是关闭(禁用)。如果加速不受支持,则显示(N/A)。如果应用程序没有明确请求特定模式,它将按照默认模式运行。注意:只有在启用了“持久模式”的情况下,才能修改自动加速设置,而“持久模式”默认情况下是未启用的。

支持的时钟 列出 GPU 可以运行的所有可能的内存和图形时钟组合(不考虑硬件制动降低的时钟)。这些是唯一可以传递给--applications-clocks标志的时钟组合。当提供-q -d SUPPORTED_CLOCKS开关或以 XML 格式提供时,会列出支持的时钟。

进程 在设备上有计算或图形上下文的进程列表。计算进程在所有完全支持的产品上报告。从 Kepler 架构开始,图形进程的报告仅限于受支持的产品。

每个条目格式为“<GPU 索引><类型> <进程名称> <GPU 内存使用量>”

GPU 索引 代表设备的 NVML 索引。

PID 代表与活动计算或图形上下文对应的进程 ID。

类型 显示为“C”表示计算进程,“G”表示图形进程,“C+G”表示既有计算上下文又有图形上下文的进程。

进程名称 代表计算或图形进程的进程名称。

GPU 内存使用量 代表上下文在设备上使用的内存量。在 Windows 上以 WDDM 模式运行时不可用,因为 Windows KMD 管理所有内存,而不是 NVIDIA 驱动程序。

统计信息(实验性) 列出 GPU 统计信息,例如功耗样本、利用率样本、xid 事件、时钟更改事件和违规计数器。

在基于 Tesla、GRID 和 Quadro 的产品上受支持,运行 Linux 系统。

限制在 Kepler 或更新的 GPU 上。

以 CSV 格式显示统计信息,如下所示: <设备索引>, <指标名称>, <CPU 时间戳(微秒)>, <指标值> 指标及其单位如下:

功耗样本,单位为瓦特。 GPU 温度样本,单位为摄氏度。 GPU、内存、编码器和解码器利用率样本,单位为百分比。 报告 Xid 错误事件,带有 Xid 错误代码。未知 Xid 错误的错误代码为 999。 处理器和内存时钟更改,单位为兆赫。 由于功耗封顶导致的违规,违规时间为纳秒。(仅限 Tesla) 由于温度封顶导致的违规,违规标志为布尔值(1/0)。(仅限 Tesla) 注意事项:

任何以“#”开头的统计信息均为注释。 不支持的设备显示为“#<设备索引>, 设备不受支持”。 不支持的指标显示为“<设备索引>, <指标名称>, N/A, N/A”。 由于温度/功耗封顶导致的违规仅适用于基于 Tesla 的产品。温度违规仅限于 Tesla K20 及更高版本。

设备监控 “nvidia-smi dmon”命令行用于监控系统中插入的一个或多个 GPU(最多 4 个设备)。此工具允许用户在每个监控周期中看到一行监控数据。输出格式简洁,便于在交互模式下解释。每行的输出数据受终端大小限制。它在基于裸机 64 位 Linux 的 Tesla、GRID、Quadro 和部分 GeForce 产品上受支持,适用于 Kepler 或更新架构的 GPU。默认情况下,监控数据包括功耗使用情况、温度、SM 时钟、内存时钟以及 SM、内存、编码器和解码器的利用率。它还可以配置为报告其他指标,例如帧缓冲区和 Bar1 内存使用情况、功耗/温度违规以及聚合的单比特/双比特 ECC 错误。如果任何指标不受设备支持或在获取指标时出现其他错误,则在输出数据中报告为“-”。用户还可以配置监控频率和每次运行的监控迭代次数。所有支持的选项都是互斥的,可以按任意顺序一起使用。

用法:

  1. 默认情况下不带参数 nvidia-smi dmon 以 1 秒的频率监控最多 4 个受支持设备的默认指标,这些设备按照自然枚举顺序排列(从 GPU 索引 0 开始)。直到用 ^C 终止才会停止运行。

  2. 选择一个或多个设备 nvidia-smi dmon -i <设备1,设备2, .. , 设备N> 报告通过逗号分隔的设备列表所选设备的默认指标。该工具会从列表中挑选最多 4 个受支持的设备,按照自然枚举顺序排列(从 GPU 索引 0 开始)。

  3. 选择要显示的指标 nvidia-smi dmon -s <指标组> <指标组> 可以是以下一个或多个: p - 功耗使用情况(瓦特)和温度(摄氏度) u - 利用率(SM、内存、编码器和解码器利用率百分比) c - 处理器和内存时钟(兆赫) v - 功耗违规(百分比)和温度违规(布尔标志) m - 帧缓冲区和 Bar1 内存使用情况(兆字节) e - ECC(聚合的单比特、双比特 ECC 错误数量)和 PCIe 重放错误 t - PCIe 接收和发送吞吐量(兆字节/秒)(Maxwell 及以上)

  4. 配置监控迭代次数 nvidia-smi dmon -c <样本数量> 显示指定数量的样本,然后退出。

  5. 配置监控频率 nvidia-smi dmon -d <时间(秒)> 以指定的监控间隔收集并显示数据,直到用 ^C 终止。

  6. 显示日期 nvidia-smi dmon -o D 在监控数据前加上日期,格式为 YYYYMMDD。

  7. 显示时间 nvidia-smi dmon -o T 在监控数据前加上时间,格式为 HH:MM:SS。

  8. 帮助信息 nvidia-smi dmon -h 显示命令行的使用帮助信息。

守护进程(实验性) “nvidia-smi daemon”启动一个后台进程来监控系统中插入的一个或多个 GPU。它每监控周期监控所请求的 GPU,并将日志文件以压缩格式记录在用户提供的路径或默认位置 /var/log/nvstats/。日志文件的创建会附带系统的日期。默认情况下,监控数据包括功耗使用情况、温度、SM 时钟、内存时钟以及 SM、内存、编码器和解码器的利用率。守护进程工具还可以配置为记录其他指标,例如帧缓冲区内存使用情况、Bar1 内存使用情况、功耗/温度违规以及聚合的单比特/双比特 ECC 错误。默认监控周期设置为 10 秒,可以通过命令行进行配置。它在基于裸机 64 位 Linux 的 Tesla、GRID、Quadro 和 GeForce 产品上受支持,适用于 Kepler 或更新架构的 GPU。守护进程需要 root 权限才能运行,并且只支持在系统上运行单个实例。所有支持的选项都是互斥的,可以按任意顺序一起使用。

用法:

  1. 默认情况下不带参数 nvidia-smi daemon 在后台运行,以 10 秒的频率监控最多 4 个受支持设备的默认指标,这些设备按照自然枚举顺序排列(从 GPU 索引 0 开始)。日期标记的日志文件创建在 /var/log/nvstats/。

  2. 选择一个或多个设备 nvidia-smi daemon -i <设备1,设备2, .. , 设备N> 在后台运行,监控通过逗号分隔的设备列表所选设备的默认指标。该工具会从列表中挑选最多 4 个受支持的设备,按照自然枚举顺序排列(从 GPU 索引 0 开始)。

  3. 选择要监控的指标 nvidia-smi daemon -s <指标组> <指标组> 可以是以下一个或多个: p - 功耗使用情况(瓦特)和温度(摄氏度) u - 利用率(SM、内存、编码器和解码器利用率百分比) c - 处理器和内存时钟(兆赫) v - 功耗违规(百分比)和温度违规(布尔标志) m - 帧缓冲区和 Bar1 内存使用情况(兆字节) e - ECC(聚合的单比特、双比特 ECC 错误数量)和 PCIe 重放错误 t - PCIe 接收和发送吞吐量(兆字节/秒)(Maxwell 及以上)

  4. 配置监控频率 nvidia-smi daemon -d <时间(秒)> 以指定的监控间隔收集数据,直到终止。

  5. 配置日志目录 nvidia-smi daemon -p <目录路径> 日志文件创建在指定的目录中。

  6. 配置日志文件名 nvidia-smi daemon -j <附加到日志文件名的字符串> 命令行用于将用户提供的字符串附加到日志文件名。

  7. 终止守护进程 nvidia-smi daemon -t 此命令行使用存储的 PID(位于 /var/run/nvsmi.pid)来终止守护进程。它会尽力终止守护进程,但不保证一定能终止。如果守护进程未终止,用户可以手动向守护进程发送 kill 信号。执行 GPU 重置操作(通过 nvidia-smi)需要退出所有 GPU 进程,包括守护进程。打开守护进程的用户将看到类似 GPU 忙的错误。

  8. 帮助信息 nvidia-smi daemon -h 显示命令行的使用帮助信息。

回放模式(实验性) “nvidia-smi replay”命令行用于提取/回放由守护进程生成的日志文件中的全部或部分内容。默认情况下,此工具会尝试获取功耗使用情况、温度、SM 时钟、内存时钟以及 SM、内存、编码器和解码器利用率等指标。回放工具还可以获取其他指标,例如帧缓冲区内存使用情况、Bar1 内存使用情况、功耗/温度违规以及聚合的单比特/双比特 ECC 错误。有一个选项可以选择要回放的指标集,如果请求的任何指标未被维护或记录为不支持,则在输出中显示为“-”。此模式生成的数据格式使得用户可以像在交互模式下运行设备监控工具一样查看数据。命令行需要强制选项“-f”来指定日志文件名的完整路径,所有其他支持的选项都是互斥的,可以按任意顺序一起使用。

用法:

  1. 指定要回放的日志文件 nvidia-smi replay -f <日志文件名> 从压缩日志文件中获取监控数据,并允许用户查看日志文件中每个监控周期存储的监控数据(默认指标带时间戳)。无论实际监控频率如何,每两秒回放一行监控数据,直到文件末尾或用户用 ^C 终止。

  2. 筛选要回放的指标 nvidia-smi replay -f <日志文件路径> -s <指标组> <指标组> 可以是以下一个或多个: p - 功耗使用情况(瓦特)和温度(摄氏度) u - 利用率(SM、内存、编码器和解码器利用率百分比) c - 处理器和内存时钟(兆赫) v - 功耗违规(百分比)和温度违规(布尔标志) m - 帧缓冲区和 Bar1 内存使用情况(兆字节) e - ECC(聚合的单比特、双比特 ECC 错误数量)和 PCIe 重放错误 t - PCIe 接收和发送吞吐量(兆字节/秒)(Maxwell 及以上)

  3. 限制回放的设备范围 nvidia-smi replay -f <日志文件> -i <设备1,设备2, .. , 设备N> 将指标报告限制在通过逗号分隔的设备列表所选的设备上。该工具会跳过日志文件中未维护的任何设备。

  4. 限制回放的时间范围 nvidia-smi replay -f <日志文件> -b <开始时间(HH:MM:SS 格式)> -e <结束时间(HH:MM:SS 格式)> 此选项允许将数据限制在指定的时间范围内。将时间指定为 0 并用 -b 或 -e 选项分别表示开始文件或结束文件。

  5. 将回放信息重定向到日志文件 nvidia-smi replay -f <日志文件> -r <输出文件名> 此选项将日志文件作为输入,并将与默认指标相关的日志文件信息提取到指定的输出文件中。

  6. 帮助信息 nvidia-smi replay -h 显示命令行的使用帮助信息。

进程监控 “nvidia-smi pmon”命令行用于监控系统中插入的一个或多个 GPU(最多 4 个设备)上运行的计算和图形进程。此工具允许用户在每个监控周期中查看每个设备上所有运行进程的统计信息。输出格式简洁,便于在交互模式下解释。每行的输出数据受终端大小限制。它在基于裸机 64 位 Linux 的 Tesla、GRID、Quadro 和部分 GeForce 产品上受支持,适用于 Kepler 或更新架构的 GPU。默认情况下,每个进程的监控数据包括进程 ID、命令名以及自上次监控周期以来 SM、内存、编码器和解码器的平均利用率。它还可以配置为报告每个进程的帧缓冲区内存使用情况。如果设备上没有运行的进程,则所有指标报告为“-”。如果任何指标不受设备支持或在获取指标时出现其他错误,也报告为“-”。用户还可以配置监控频率和每次运行的监控迭代次数。还有一个选项可以在每行中包含日期和时间。所有支持的选项都是互斥的,可以按任意顺序一起使用。

用法:

  1. 默认情况下不带参数 nvidia-smi pmon 监控最多 4 个受支持设备上运行的所有进程,这些设备按照自然枚举顺序排列(从 GPU 索引 0 开始),频率为 1 秒。直到用 ^C 终止才会停止运行。

  2. 选择一个或多个设备 nvidia-smi pmon -i <设备1,设备2, .. , 设备N> 报告通过逗号分隔的设备列表所选设备上运行的所有进程的统计信息。该工具会从列表中挑选最多 4 个受支持的设备,按照自然枚举顺序排列(从 GPU 索引 0 开始)。

  3. 选择要显示的指标 nvidia-smi pmon -s <指标组> <指标组> 可以是以下一个或多个: u - 利用率(进程的 SM、内存、编码器和解码器利用率百分比)。报告自上次监控周期以来的平均利用率。 m - 帧缓冲区使用情况(兆字节)。报告内存使用情况的瞬时值。

  4. 配置监控迭代次数 nvidia-smi pmon -c <样本数量> 显示指定数量的样本,然后退出。

  5. 配置监控频率 nvidia-smi pmon -d <时间(秒)> 以指定的监控间隔收集并显示数据,直到用 ^C 终止。监控频率必须在 1 到 10 秒之间。

  6. 显示日期 nvidia-smi pmon -o D 在监控数据前加上日期,格式为 YYYYMMDD。

  7. 显示时间 nvidia-smi pmon -o T 在监控数据前加上时间,格式为 HH:MM:SS。

  8. 帮助信息 nvidia-smi pmon -h 显示命令行的使用帮助信息。

拓扑(实验性) 列出系统中 GPU 的拓扑信息,它们如何相互连接以及合格的 RDMA NIC。

显示一个矩阵,其中包含可用的 GPU,并带有以下图例: 图例:X = 自身 SOC = 路径经过插槽级链接(例如 QPI) PHB = 路径经过 PCIe 主桥 PXB = 路径经过多个 PCIe 内部交换机 PIX = 路径经过 PCIe 内部交换机

vGPU 管理 “nvidia-smi vgpu”命令报告在受支持的 GPU 和管理程序上运行的 GRID vGPU(请参阅驱动程序发布说明以获取受支持平台的信息)。摘要报告提供了关于系统中每个设备上当前活动的 vGPU 的基本信息。其他选项提供了详细的 vGPU 属性报告、每个 vGPU 的 SM、内存、编码器和解码器利用率报告以及每个 GPU 上受支持和可创建的 vGPU 报告。可以通过指定可配置的循环频率来自动生成定期报告。

用法:

  1. 默认情况下不带参数 nvidia-smi vgpu 报告每个设备上当前活动的所有 vGPU 的摘要。

  2. 显示当前活动的 vGPU 的详细信息 nvidia-smi vgpu -q 收集并显示每个设备上当前活动的 vGPU 的信息,包括驱动程序版本、利用率等。

  3. 选择一个或多个设备 nvidia-smi vgpu -i <设备1,设备2, .. , 设备N> 报告通过逗号分隔的设备列表所选设备上当前活动的所有 vGPU 的摘要。

  4. 显示受支持的 vGPU nvidia-smi vgpu -s 显示每个设备上受支持的 vGPU 类型。使用-v / --verbose选项可显示每个 vGPU 类型的详细信息。

  5. 显示可创建的 vGPU nvidia-smi vgpu -c 显示每个设备上可创建的 vGPU 类型。这会根据设备上已激活的 vGPU 动态变化。使用-v / --verbose选项可显示每个 vGPU 类型的详细信息。

  6. 报告当前活动的 vGPU 的利用率 nvidia-smi vgpu -u 报告自上次监控周期以来每个活动 vGPU 的平均利用率(SM、内存、编码器和解码器)。默认周期时间为 1 秒,命令运行直到用 ^C 终止。如果设备上没有活动的 vGPU,则其指标报告为“-”。

  7. 配置循环频率 nvidia-smi vgpu [-s -c -q -u] -l <时间(秒)> 以指定的循环间隔收集并显示数据,直到用 ^C 终止。循环频率必须在 1 到 10 秒之间。未指定时间时,默认循环频率为 5 秒。

  8. 帮助信息 nvidia-smi vgpu -h 显示命令行的使用帮助信息。

Unit 属性 以下列表描述了通过-q -u unit 查询选项返回的所有可能数据。除非另有说明,所有数值结果均为基数 10 且无单位。

时间戳 调用 nvidia-smi 时的当前系统时间戳。格式为“星期几 月 日 HH:MM:SS 年”。

驱动程序版本 已安装 NVIDIA 显示驱动程序的版本。格式为“主编号.次编号”。

HIC 信息 有关系统中安装的任何主机接口卡(HIC)的信息。

固件版本 HIC 上运行的固件版本。格式为“主编号.次编号”。

已连接单元 系统中已连接的单元数量。

产品名称 单元的官方产品名称。这是一个字母数字值。适用于所有 S 级产品。

产品 ID 单元的产品标识符。这是一个字母数字值,格式为“部分 1-部分 2-部分 3”。适用于所有 S 级产品。

产品序列号 单元的不可变全球唯一标识符。这是一个字母数字值。适用于所有 S 级产品。

固件版本 单元上运行的固件版本。格式为“主编号.次编号”。适用于所有 S 级产品。

LED 状态 LED 指示灯用于标记可能存在潜在问题的系统。琥珀色指示灯表示存在问题。适用于所有 S 级产品。

颜色 LED 指示灯的颜色。要么是“绿色”,要么是“琥珀色”。

原因 当前 LED 颜色的原因。原因可以是以下任意组合:“未知”、“主机系统将 LED 设置为琥珀色”、“热传感器故障”、“风扇故障”和“温度超过临界限制”。

温度 单元重要组件的温度读数。所有读数均以摄氏度为单位。并非所有读数都可用。适用于所有 S 级产品。

进气温度 单元进气口的空气温度。

排气温度 单元排气点的空气温度。

板温度 跨越单元板的空气温度。

PSU 读数 单元电源的读数。适用于所有 S 级产品。

状态 PSU 的运行状态。电源供应状态可以是以下任意一种:“正常”、“异常”、“高压”、“风扇故障”、“散热器温度”、“电流限制”、“电压低于 UV 报警阈值”、“低电压”、“I2C 远程关闭命令”、“MOD_DISABLE 输入”或“短针转换”。

电压 PSU 电压设置,单位为伏特。

电流 PSU 电流消耗,单位为安培。

风扇信息 单元的风扇读数。对于可能有许多风扇的每个风扇,都会提供一个读数。适用于所有 S 级产品。

状态 风扇的状态,要么是“正常”,要么是“故障”。

速度 对于健康的风扇,风扇的速度(单位:转/分钟)。

已连接 GPU 与单元相关联的每个 GPU 的 PCI 总线 ID 列表。总线 ID 的格式为“域:总线:设备.功能”,以十六进制表示。适用于所有 S 级产品。

注意事项

在 Linux 上,如果以 root 身份运行,NVIDIA 设备文件可能会被 nvidia-smi 修改。请参阅驱动程序 README 文件的相关部分。

-a-g参数已弃用,分别改用-q-i。不过,旧参数在本版本中仍然有效。

示例

nvidia-smi -q 一次查询所有 GPU 的属性,并以纯文本形式显示在标准输出上。

nvidia-smi --format=csv,noheader --query-gpu=uuid,persistence_mode 查询系统中所有 GPU 的 UUID 和持久模式。

nvidia-smi -q -d ECC,POWER -i 0 -l 10 -f out.log 以 10 秒的频率查询 GPU 0 的 ECC 错误和功耗,无限期运行,并记录到文件 out.log 中。

“nvidia-smi -c 1 -i GPU-b2f5f1b745e3d23d-65a3a26d-097db358-7303e0b6-149642ff3d219f8587cde3a8” 将计算模式设置为“PROHIBITED”,适用于 UUID 为“GPU-b2f5f1b745e3d23d-65a3a26d-097db358-7303e0b6-149642ff3d219f8587cde3a8”的 GPU。

nvidia-smi -q -u -x --dtd 一次查询所有 Units 的属性,并以嵌入 DTD 的 XML 格式显示在标准输出上。

nvidia-smi --dtd -u -f nvsmi_unit.dtd 将 Unit DTD 写入 nvsmi_unit.dtd。

nvidia-smi -q -d SUPPORTED_CLOCKS 显示所有 GPU 的支持时钟。

nvidia-smi -i 0 --applications-clocks 2500,745 将 GPU 0 的应用程序时钟设置为内存 2500 MHz 和图形 745 MHz。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值