nvidia-smi是用来查看GPU使用情况的。我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下。

这是服务器上特斯拉K80的信息。
上面的表格中:
第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
下面一张表示每个进程占用的显存使用率。

显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。我跑caffe代码的时候显存占得少,GPU占得多,师弟跑TensorFlow代码的时候,显存占得多,GPU占得少。

背景

qgzang@ustc:~$nvidia-smi -h
  • 1

输出如下信息:

NVIDIA System Management Interface – v352.79

NVSMI provides monitoring information for Tesla and select Quadro devices. 
The data is presented in either a plain text or an XML format, via stdout or a file. 
NVSMI also provides several management operations for changing the device state.

Note that the functionality of NVSMI is exposed through the NVML C-based 
library. See the NVIDIA developer website for more information about NVML. 
Python wrappers to NVML are also available. The output of NVSMI is 
not guaranteed to be backwards compatible; NVML and the bindings are backwards 
compatible.

http://developer.nvidia.com/nvidia-management-library-nvml/ 
http://pypi.python.org/pypi/nvidia-ml-py/

Supported products:

  • Full Support

    • All Tesla products, starting with the Fermi architecture
    • All Quadro products, starting with the Fermi architecture
    • All GRID products, starting with the Kepler architecture
    • GeForce Titan products, starting with the Kepler architecture
  • Limited Support 
    • All Geforce products, starting with the Fermi architecture

命令

nvidia-smi [OPTION1 [ARG1]] [OPTION2 [ARG2]] ...
  • 1

参数

参数 详解
-h, –help Print usage information and exit.

LIST OPTIONS:

参数 详解
-L, –list-gpus Display a list of GPUs connected to the system.
qgzang@ustc:~$ nvidia-smi -L
GPU 0: GeForce GTX TITAN X (UUID: GPU-xxxxx-xxx-xxxxx-xxx-xxxxxx)
  • 1
  • 2

SUMMARY OPTIONS:

参数 详解
-i,–id= Target a specific GPU.
-f,–filename= Log to a specified file, rather than to stdout.
-l,–loop= Probe until Ctrl+C at specified second interval.

QUERY OPTIONS:

参数 详解
-q, –query
-u,–unit Show unit, rather than GPU, attributes.
-i,–id= Target a specific GPU or Unit.
-f,–filename= Log to a specified file, rather than to stdout.
-x,–xml-format Produce XML output.
–dtd When showing xml output, embed DTD.
-d,–display= Display only selected information: MEMORY,
-l, –loop= Probe until Ctrl+C at specified second interval.
-lms, –loop-ms= Probe until Ctrl+C at specified millisecond interval.

SELECTIVE QUERY OPTIONS:

参数 详解 补充
–query-gpu= Information about GPU. Call –help-query-gpu for more info.
–query-supported-clocks= List of supported clocks. Call –help-query-supported-clocks for more info.
–query-compute-apps= List of currently active compute processes. Call –help-query-compute-apps for more info.
–query-accounted-apps= List of accounted compute processes. Call –help-query-accounted-apps for more info.
–query-retired-pages= List of device memory pages that have been retired. Call –help-query-retired-pages for more info.

[mandatory]

参数 命令
-i, –id= Target a specific GPU or Unit.
-f, –filename= Log to a specified file, rather than to stdout.
-l, –loop= Probe until Ctrl+C at specified second interval.
-lms, –loop-ms= Probe until Ctrl+C at specified millisecond interval.

DEVICE MODIFICATION OPTIONS:

参数 命令 补充
-pm, –persistence-mode= Set persistence mode: 0/DISABLED, 1/ENABLED  
-e, –ecc-config= Toggle ECC support: 0/DISABLED, 1/ENABLED  
-p, –reset-ecc-errors= Reset ECC error counts: 0/VOLATILE, 1/AGGREGATE  
-c, –compute-mode= Set MODE for compute applications: 0/DEFAULT,1/EXCLUSIVE_THREAD (deprecated),2/PROHIBITED, 3/EXCLUSIVE_PROCESS
–gom= Set GPU Operation Mode: 0/ALL_ON, 1/COMPUTE, 2/LOW_DP
-r –gpu-reset Trigger reset of the GPU.  

UNIT MODIFICATION OPTIONS:

参数 命令
-t, –toggle-led= Set Unit LED state: 0/GREEN, 1/AMBER
-i, –id= Target a specific Unit.

SHOW DTD OPTIONS:

参数 命令
–dtd Print device DTD and exit.
-f, –filename= Log to a specified file, rather than to stdout.
-u, –unit Show unit, rather than device, DTD.
–debug= Log encrypted debug information to a specified file.

Process Monitoring:

参数 命令 补充
pmon Displays process stats in scrolling format. “nvidia-smi pmon -h” for more information.

TOPOLOGY: (EXPERIMENTAL)

参数 命令 补充
topo Displays device/system topology. “nvidia-smi topo -h” for more information. Please see the nvidia-smi(1) manual page for more detailed information.

CUDA之nvidia-smi命令详解相关推荐

  1. nvidia-smi 命令详解

    nvidia-smi 命令详解 简介 nvidia-smi - NVIDIA System Management Interface program nvidia smi(也称为NVSMI)为来自 F ...

  2. 【网络编程】Linux tcpdump命令详解---编辑中

    目录 即看即用 详细说明 简介 输出信息含义 链路层头 TCP 数据包 UDP 数据包 SMB/CIFS 解码 AFS 请求和回应 KIP AppleTalk协议 IP 数据包破碎 时间戳 反向过滤 ...

  3. Linux命令大全- tcpdump命令详解

    losbyday 一名热爱开源.朴实的搬运工 Linux tcpdump命令详解 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定 ...

  4. 【转载】GPU之nvidia-smi命令详解

    转载自:GPU之nvidia-smi命令详解 1.nvidia-smi介绍 nvidia-sim简称NVSMI,提供监控GPU使用情况和更改GPU状态的功能,是一个跨平台工具,支持所有标准的NVIDI ...

  5. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  6. oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解

    求$ORACLE_HOME/bin目录下所有命令的使用方法及命令详解 如题. $ORACLE_HOME/bin目录下有很多命令,那我们平时用到的也不是太多,即使用到的那部分可能用法也不是完全能掌握,所 ...

  7. 【FFmpeg】ffmpeg命令详解(三)高级选项

    ffmpeg命令详解(三)高级选项 1.-map 2.-ignore_unknown 3.-copy_unknown 4.-map_channel 5.-map_metadata 6.-map_cha ...

  8. 【FFmpeg】ffmpeg命令详解(二)

    ffmpeg命令详解(二) 4.流选择 4.1 自动选择流 4.2 手动选择流 5.命令行选择详解 5.1 命令行选项的值说明: 5.2 流说明符 5.3 通用选项 5.4 主选项 5.5 视频相关选 ...

  9. 【FFmpeg】ffmpeg命令详解(一)

    ffmpeg命令详解(一) 1.命令格式 2.简述 3.详细说明 3.1 过滤器 3.1.1 简单的过滤器图 3.1.2 复杂的过滤器图 3.2 流拷贝 1.命令格式 ffmpeg [global_o ...

  10. head和tail命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/amosli/p/3496027.html 当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相 ...

最新文章

  1. 2022-2028中国工作服市场现状及未来发展趋势
  2. 深入理解计算机系统(1.3)---金字塔形的存储设备、操作系统的抽象概念
  3. 【学习笔记】制造业MES系统功能重点
  4. MySQL 8.0 Server层最新架构详解
  5. maven打包插件:maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin详解
  6. SPS技术体系之一-----程序文件和IIS配置
  7. html5视频播放器 知乎,iPhone、iPad 如何播放网页调用优酷视频?
  8. vue部门结构图_Vue组织架构图组件
  9. SI4438系列模块调试
  10. 三星安卓手机刷linux,三星galaxy nexus刷ubutun系统的详细步骤
  11. 微信分享至朋友圈和朋友接口
  12. matlab表示双曲函数,MATLAB2009_1_5三角函数和双曲函数
  13. 走到人生边上 - 笔记
  14. python查询mysql decimal报错_【2020Python修炼记】MySQL之 表相关操作
  15. BIOS视频中断 10号中断详解
  16. 第七届河南省程序设计大赛——A 海岛争霸
  17. CRM客户关系管理系统源码
  18. ESP8266-Arduino编程实例-OLED显示DHT22传感器数据
  19. live555 android,live555
  20. 喝一碗孟婆汤nbsp;走一遍奈何桥

热门文章

  1. C语言 有关库函数简介
  2. windows的局域网渗透
  3. “具有NDK音视频开发经验者优先”,7/10的安卓招聘要求中都这样写,还不上手?
  4. 2016年2月西部数码.wang域名注册量及份额报告
  5. Posix 接口笔记
  6. 视频去除水印,只需两分钟随时学会
  7. IE显示对象不支持此属性或方法 的解决方法
  8. java web上传视频文件_怎样使用javaweb实现上传视频和下载功能?
  9. 清亡之路(4):最受误解的东南互保
  10. 冬天来了,分享几个网页下雪js特效