|
NAMEnvidia-smi - NVIDIA System Management Interface programSYNOPSISnvidia-smi [OPTION1 [ARG1]] [OPTION2 [ARG2]] ...DESCRIPTIONnvidia-smi (also NVSMI) provides monitoring and management capabilities for each of NVIDIA's Tesla, Quadro, GRID and GeForce devices from Fermi and higher architecture families. GeForce Titan series devices are supported for most functions with very limited information provided for the remainder of the Geforce brand. NVSMI is a cross platform tool that supports all standard NVIDIA driver-supported Linux distros, as well as 64bit versions of Windows starting with Windows Server 2008 R2. Metrics can be consumed directly by users via stdout, or provided by file via CSV and XML formats for scripting purposes.Note that much of the functionality of NVSMI is provided by the underlying NVML C-based library. See the NVIDIA developer website link below for more information about NVML. NVML-based python bindings are also available. The output of NVSMI is not guaranteed to be backwards compatible. However, both NVML and the Python bindings are backwards compatible, and should be the first choice when writing any tools that must be maintained across NVIDIA driver releases. NVML SDK: http://developer.nvidia.com/nvidia-management-library-nvml/ Python bindings: http://pypi.python.org/pypi/nvidia-ml-py/ OPTIONSGENERAL OPTIONS-h, --helpPrint usage information and exit.SUMMARY OPTIONS-L, --list-gpusList each of the NVIDIA GPUs in the system, along with their UUIDs.QUERY OPTIONS-q, --queryDisplay GPU or Unit info. Displayed info includes all data listed in the (GPU ATTRIBUTES) or (UNIT ATTRIBUTES) sections of this document. Some devices and/or environments don't support all possible information. Any unsupported data is indicated by a "N/A" in the output. By default information for all available GPUs or Units is displayed. Use the -i option to restrict the output to a single GPU or Unit.[plus optional]-u, --unitDisplay Unit data instead of GPU data. Unit data is only available for NVIDIA S-class Tesla enclosures.-i, --id=IDDisplay data for a single specified GPU or Unit. The specified id may be the GPU/Unit's 0-based index in the natural enumeration returned by the driver, the GPU's board serial number, the GPU's UUID, or the GPU's PCI bus ID (as domain:bus:device.function in hex). It is recommended that users desiring consistency use either UUID or PCI bus ID, since device enumeration ordering is not guaranteed to be consistent between reboots and board serial number might be shared between multiple GPUs on the same board.-f FILE, --filename=FILERedirect query output to the specified file in place of the default stdout. The specified file will be overwritten.-x, --xml-formatProduce XML output in place of the default human-readable format. Both GPU and Unit query outputs conform to corresponding DTDs. These are available via the --dtd flag.--dtdUse with -x. Embed the DTD in the XML output.--debug=FILEProduces an encrypted debug log for use in submission of bugs back to NVIDIA.-d TYPE, --display=TYPEDisplay only selected information: MEMORY, UTILIZATION, ECC, TEMPERATURE, POWER, CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, PAGE_RETIREMENT, ACCOUNTING Flags can be combined with comma e.g. "MEMORY,ECC". Sampling data with max, min and avg is also returned for POWER, UTILIZATION and CLOCK display types. Doesn't work with -u/--unit or -x/--xml-format flags.-l SEC, --loop=SECContinuously report query data at the specified interval, rather than the default of just once. The application will sleep in-between queries. Note that on Linux ECC error or XID error events will print out during the sleep period if the -x flag was not specified. Pressing Ctrl+C at any time will abort the loop, which will otherwise run indefinitely. If no argument is specified for the -l form a default interval of 5 seconds is used.SELECTIVE QUERY OPTIONSAllows the caller to pass an explicit list of properties to query.[one of]--query-gpu=Information about GPU. Pass comma separated list of properties you want to query. e.g. --query-gpu=pci.bus_id,persistence_mode. 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 GPU device memory pages that have been retired. Call --help-query-retired-pages for more info.[mandatory]--format=Comma separated list of format options:
[plus any of]-i, --id=IDDisplay data for a single specified GPU. The specified id may be the GPU's 0-based index in the natural enumeration returned by the driver, the GPU's board serial number, the GPU's UUID, or the GPU's PCI bus ID (as domain:bus:device.function in hex). It is recommended that users desiring consistency use either UUID or PCI bus ID, since device enumeration ordering is not guaranteed to be consistent between reboots and board serial number might be shared between multiple GPUs on the same board.-f FILE, --filename=FILERedirect query output to the specified file in place of the default stdout. The specified file will be overwritten.-l SEC, --loop=SECContinuously report query data at the specified interval, rather than the default of just once. The application will sleep in-between queries. Note that on Linux ECC error or XID error events will print out during the sleep period if the -x flag was not specified. Pressing Ctrl+C at any time will abort the loop, which will otherwise run indefinitely. If no argument is specified for the -l form a default interval of 5 seconds is used.-lms ms, --loop-ms=msSame as -l,--loop but in milliseconds.DEVICE MODIFICATION OPTIONS[any one of]-pm, --persistence-mode=MODESet the persistence mode for the target GPUs. See the (GPU ATTRIBUTES) section for a description of persistence mode. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. The effect of this operation is immediate. However, it does not persist across reboots. After each reboot persistence mode will default to "Disabled". Available on Linux only.-e, --ecc-config=CONFIGSet the ECC mode for the target GPUs. See the (GPU ATTRIBUTES) section for a description of ECC mode. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. This setting takes effect after the next reboot and is persistent.-p, --reset-ecc-errors=TYPEReset the ECC error counters for the target GPUs. See the (GPU ATTRIBUTES) section for a description of ECC error counter types. Available arguments are 0|VOLATILE or 1|AGGREGATE. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. The effect of this operation is immediate.-c, --compute-mode=MODESet the compute mode for the target GPUs. See the (GPU ATTRIBUTES) section for a description of compute mode. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. The effect of this operation is immediate. However, it does not persist across reboots. After each reboot compute mode will reset to "DEFAULT".-dm TYPE, --driver-model=TYPE-fdm TYPE, --force-driver-model=TYPEEnable or disable TCC driver model. For Windows only. Requires administrator privileges. -dm will fail if a display is attached, but -fdm will force the driver model to change. Will impact all GPUs unless a single GPU is specified using the -i argument. A reboot is required for the change to take place. See Driver Model for more information on Windows driver models.--gom=MODESet GPU Operation Mode: 0/ALL_ON, 1/COMPUTE, 2/LOW_DP Supported on GK110 M-class and X-class Tesla products from the Kepler family. Not supported on Quadro and Tesla C-class products. LOW_DP and ALL_ON are the only modes supported on GeForce Titan devices. Requires administrator privileges. See GPU Operation Mode for more information about GOM. GOM changes take effect after reboot. The reboot requirement might be removed in the future. Compute only GOMs don't support WDDM (Windows Display Driver Model)-r, --gpu-resetTrigger a reset of one or more GPUs. Can be used to clear GPU HW and SW state in situations that would otherwise require a machine reboot. Typically useful if a double bit ECC error has occurred. Optional -i switch can be used to target one or more specific devices. Without this option, all GPUs are reset. Requires root. There can't be any applications using these devices (e.g. CUDA application, graphics application like X server, monitoring application like other instance of nvidia-smi). There also can't be any compute applications running on any other GPU in the system.Any GPUs with NVLink connections to a GPU being reset must also be reset in the same command. This can be done either by omitting the -i switch, or using the -i switch to specify the GPUs to be reset. If the -i option does not specify a complete set of NVLink GPUs to reset, this command will issue an error identifying the additional GPUs that must be included in the reset command. GPU reset is not guaranteed to work in all cases. It is not recommended for production environments at this time. In some situations there may be HW components on the board that fail to revert back to an initial state following the reset request. This is more likely to be seen on Fermi-generation products vs. Kepler, and more likely to be seen if the reset is being performed on a hung GPU. Following a reset, it is recommended that the health of each reset GPU be verified before further use. The nvidia-healthmon tool is a good choice for this test. If any GPU is not healthy a complete reset should be instigated by power cycling the node. Visit http://developer.nvidia.com/gpu-deployment-kit to download the GDK and nvidia-healthmon. -ac, --applications-clocks=MEM_CLOCK,GRAPHICS_CLOCKSpecifies maximum <memory,graphics> clocks as a pair (e.g. 2000,800) that defines GPU's speed while running applications on a GPU. Supported on Maxwell-based GeForce and from the Kepler+ family in Tesla/Quadro/Titan devices. Requires root unless restrictions are relaxed with the -acp command..-rac, --reset-applications-clocksResets the applications clocks to the default value. Supported on Maxwell-based GeForce and from the Kepler+ family in Tesla/Quadro/Titan devices. Requires root unless restrictions are relaxed with the -acp command.-acp, --applications-clocks-permission=MODEToggle whether applications clocks can be changed by all users or only by root. Available arguments are 0|UNRESTRICTED, 1|RESTRICTED. Supported on Maxwell-based GeForce and from the Kepler+ family in Tesla/Quadro/Titan devices. Requires root.-pl, --power-limit=POWER_LIMITSpecifies maximum power limit in watts. Accepts integer and floating point numbers. Only on supported devices from Kepler family. Requires administrator privileges. Value needs to be between Min and Max Power Limit as reported by nvidia-smi.-am, --accounting-mode=MODEEnables or disables GPU Accounting. With GPU Accounting one can keep track of usage of resources throughout lifespan of a single process. Only on supported devices from Kepler family. Requires administrator privileges. Available arguments are 0|DISABLED or 1|ENABLED.-caa, --clear-accounted-appsClears all processes accounted so far. Only on supported devices from Kepler family. Requires administrator privileges.--auto-boost-default=MODESet the default auto boost policy to 0/DISABLED or 1/ENABLED, enforcing the change only after the last boost client has exited. Only on certain Tesla devices from the Kepler+ family and Maxwell-based GeForce devices. Requires root.--auto-boost-default-force=MODESet the default auto boost policy to 0/DISABLED or 1/ENABLED, enforcing the change immediately. Only on certain Tesla devices from the Kepler+ family and Maxwell-based GeForce devices. Requires root.--auto-boost-permission=MODEAllow non-admin/root control over auto boost mode. Available arguments are 0|UNRESTRICTED, 1|RESTRICTED. Only on certain Tesla devices from the Kepler+ family and Maxwell-based GeForce devices. Requires root.[plus optional]-i, --id=IDModify a single specified GPU. The specified id may be the GPU/Unit's 0-based index in the natural enumeration returned by the driver, the GPU's board serial number, the GPU's UUID, or the GPU's PCI bus ID (as domain:bus:device.function in hex). It is recommended that users desiring consistency use either UUID or PCI bus ID, since device enumeration ordering is not guaranteed to be consistent between reboots and board serial number might be shared between multiple GPUs on the same board.UNIT MODIFICATION OPTIONS-t, --toggle-led=STATESet the LED indicator state on the front and back of the unit to the specified color. See the (UNIT ATTRIBUTES) section for a description of the LED states. Allowed colors are 0|GREEN and 1|AMBER. Requires root.[plus optional]-i, --id=IDModify a single specified Unit. The specified id is the Unit's 0-based index in the natural enumeration returned by the driver.SHOW DTD OPTIONS--dtdDisplay Device or Unit DTD.[plus optional]-f FILE, --filename=FILERedirect query output to the specified file in place of the default stdout. The specified file will be overwritten.-u, --unitDisplay Unit DTD instead of device DTD.statsDisplay statistics information about the GPU. Use "nvidia-smi stats -h" for more information. Linux only.topoDisplay topology information about the system. Use "nvidia-smi topo -h" for more information. Linux only. Shows all GPUs NVML is able to detect but CPU affinity information will only be shown for GPUs with Kepler or newer architectures. Note: GPU enumeration is the same as NVML.drainDisplay and modify the GPU drain states. Use "nvidia-smi drain -h" for more information. Linux only.nvlinkDisplay nvlink information. Use "nvidia-smi nvlink -h" for more information.clocksQuery and control clocking behavior. Currently, this only pertains to synchronized boost. Use "nvidia-smi clocks --help" for more information.vgpuDisplay information on GRID virtual GPUs. Use "nvidia-smi vgpu -h" for more information.RETURN VALUEReturn code reflects whether the operation succeeded or failed and what was the reason of failure.
GPU ATTRIBUTESThe following list describes all possible data returned by the -q device query option. Unless otherwise noted all numerical results are base 10 and unitless.TimestampThe current system timestamp at the time nvidia-smi was invoked. Format is "Day-of-week Month Day HH:MM:SS Year".Driver VersionThe version of the installed NVIDIA display driver. This is an alphanumeric string.Attached GPUsThe number of NVIDIA GPUs in the system.Product NameThe official product name of the GPU. This is an alphanumeric string. For all products.Display ModeA flag that indicates whether a physical display (e.g. monitor) is currently connected to any of the GPU's connectors. "Enabled" indicates an attached display. "Disabled" indicates otherwise.Display ActiveA flag that indicates whether a display is initialized on the GPU's (e.g. memory is allocated on the device for display). Display can be active even when no monitor is physically attached. "Enabled" indicates an active display. "Disabled" indicates otherwise.Persistence ModeA flag that indicates whether persistence mode is enabled for the GPU. Value is either "Enabled" or "Disabled". When persistence mode is enabled the NVIDIA driver remains loaded even when no active clients, such as X11 or nvidia-smi, exist. This minimizes the driver load latency associated with running dependent apps, such as CUDA programs. For all CUDA-capable products. Linux only.Accounting ModeA flag that indicates whether accounting mode is enabled for the GPU Value is either When accounting is enabled statistics are calculated for each compute process running on the GPU. Statistics can be queried during the lifetime or after termination of the process. The execution time of process is reported as 0 while the process is in running state and updated to actual execution time after the process has terminated. See --help-query-accounted-apps for more info.Accounting Mode Buffer SizeReturns the size of the circular buffer that holds list of processes that can be queried for accounting stats. This is the maximum number of processes that accounting information will be stored for before information about oldest processes will get overwritten by information about new processes.Driver ModelOn Windows, the TCC and WDDM driver models are supported. The driver model can be changed with the (-dm) or (-fdm) flags. The TCC driver model is optimized for compute applications. I.E. kernel launch times will be quicker with TCC. The WDDM driver model is designed for graphics applications and is not recommended for compute applications. Linux does not support multiple driver models, and will always have the value of "N/A".
Serial NumberThis number matches the serial number physically printed on each board. It is a globally unique immutable alphanumeric value.GPU UUIDThis value is the globally unique immutable alphanumeric identifier of the GPU. It does not correspond to any physical label on the board.Minor NumberThe minor number for the device is such that the Nvidia device node file for each GPU will have the form /dev/nvidia[minor number]. Available only on Linux platform.VBIOS VersionThe BIOS of the GPU board.MultiGPU BoardWhether or not this GPU is part of a multiGPU board.Board IDThe unique board ID assigned by the driver. If two or more GPUs have the same board ID and the above "MultiGPU" field is true then the GPUs are on the same board.Inforom VersionVersion numbers for each object in the GPU board's inforom storage. The inforom is a small, persistent store of configuration and state data for the GPU. All inforom version fields are numerical. It can be useful to know these version numbers because some GPU features are only available with inforoms of a certain version or higher.If any of the fields below return Unknown Error additional Inforom verification check is performed and appropriate warning message is displayed.
GPU Operation ModeGOM allows to reduce power usage and optimize GPU throughput by disabling GPU features.Each GOM is designed to meet specific user needs. In "All On" mode everything is enabled and running at full speed. The "Compute" mode is designed for running only compute tasks. Graphics operations are not allowed. The "Low Double Precision" mode is designed for running graphics applications that don't require high bandwidth double precision. GOM can be changed with the (--gom) flag. Supported on GK110 M-class and X-class Tesla products from the Kepler family. Not supported on Quadro and Tesla C-class products. Low Double Precision and All On modes are the only modes available for supported GeForce Titan products.
PCIBasic PCI info for the device. Some of this information may change whenever cards are added/removed/moved in a system. For all products.
GPU Link informationThe PCIe link generation and bus width
Bridge ChipInformation related to Bridge Chip on the device. The bridge chip firmware is only present on certain boards and may display "N/A" for some newer multiGPUs boards.
Replay counterThis is the internal counter that records various errors on the PCIe bus.Tx ThroughputThe GPU-centric transmission throughput across the PCIe bus in MB/s over the past 20ms. Only supported on Maxwell architectures and newer.Rx ThroughputThe GPU-centric receive throughput across the PCIe bus in MB/s over the past 20ms. Only supported on Maxwell architectures and newer.Fan SpeedThe fan speed value is the percent of maximum speed that the device's fan is currently intended to run at. It ranges from 0 to 100%. Note: The reported speed is the intended fan speed. If the fan is physically blocked and unable to spin, this output will not match the actual fan speed. Many parts do not report fan speeds because they rely on cooling via fans in the surrounding enclosure. For all discrete products with dedicated fans.Performance StateThe current performance state for the GPU. States range from P0 (maximum performance) to P12 (minimum performance).Clocks Throttle ReasonsRetrieves information about factors that are reducing the frequency of clocks.If all throttle reasons are returned as "Not Active" it means that clocks are running as high as possible.
FB Memory UsageOn-board frame buffer memory information. Reported total memory is affected by ECC state. If ECC is enabled the total available memory is decreased by several percent, due to the requisite parity bits. The driver may also reserve a small amount of memory for internal use, even without active work on the GPU. For all products.
BAR1 Memory UsageBAR1 is used to map the FB (device memory) so that it can be directly accessed by the CPU or by 3rd party devices (peer-to-peer on the PCIe bus).
Compute ModeThe compute mode flag indicates whether individual or multiple compute applications may run on the GPU."Default" means multiple contexts are allowed per device. "Exclusive Process" means only one context is allowed per device, usable from multiple threads at a time. "Prohibited" means no contexts are allowed per device (no compute apps). "EXCLUSIVE_PROCESS" was added in CUDA 4.0. Prior CUDA releases supported only one exclusive mode, which is equivalent to "EXCLUSIVE_THREAD" in CUDA 4.0 and beyond. For all CUDA-capable products. UtilizationUtilization rates report how busy each GPU is over time, and can be used to determine how much an application is using the GPUs in the system.Note: During driver initialization when ECC is enabled one can see high GPU and Memory Utilization readings. This is caused by ECC Memory Scrubbing mechanism that is performed during driver initialization.
Ecc ModeA flag that indicates whether ECC support is enabled. May be either "Enabled" or "Disabled". Changes to ECC mode require a reboot. Requires Inforom ECC object version 1.0 or higher.
ECC ErrorsNVIDIA GPUs can provide error counts for various types of ECC errors. Some ECC errors are either single or double bit, where single bit errors are corrected and double bit errors are uncorrectable. Texture memory errors may be correctable via resend or uncorrectable if the resend fails. These errors are available across two timescales (volatile and aggregate). Single bit ECC errors are automatically corrected by the HW and do not result in data corruption. Double bit errors are detected but not corrected. Please see the ECC documents on the web for information on compute application behavior when double bit errors occur. Volatile error counters track the number of errors detected since the last driver load. Aggregate error counts persist indefinitely and thus act as a lifetime counter.A note about volatile counts: On Windows this is once per boot. On Linux this can be more frequent. On Linux the driver unloads when no active clients exist. Hence, if persistence mode is enabled or there is always a driver client active (e.g. X11), then Linux also sees per-boot behavior. If not, volatile counts are reset each time a compute app is run. Tesla and Quadro products from the Fermi and Kepler family can display total ECC error counts, as well as a breakdown of errors based on location on the chip. The locations are described below. Location-based data for aggregate error counts requires Inforom ECC object version 2.0. All other ECC counts require ECC object version 1.0.
Page RetirementNVIDIA GPUs can retire pages of GPU device memory when they become unreliable. This can happen when multiple single bit ECC errors occur for the same page, or on a double bit ECC error. When a page is retired, the NVIDIA driver will hide it such that no driver, or application memory allocations can access it.Double Bit ECC The number of GPU device memory pages that have been retired due to a double bit ECC error. Single Bit ECC The number of GPU device memory pages that have been retired due to multiple single bit ECC errors. Pending Checks if any GPU device memory pages are pending retirement on the next reboot. Pages that are pending retirement can still be allocated, and may cause further reliability issues. TemperatureReadings from temperature sensors on the board. All readings are in degrees C. Not all products support all reading types. In particular, products in module form factors that rely on case fans or passive cooling do not usually provide temperature readings. See below for restrictions.
Power ReadingsPower readings help to shed light on the current power usage of the GPU, and the factors that affect that usage. When power management is enabled the GPU limits power draw under load to fit within a predefined power envelope by manipulating the current performance state. See below for limits of availability. Please note that power readings are not applicable for Pascal and higher GPUs with BA sensor boards.
ClocksCurrent frequency at which parts of the GPU are running. All readings are in MHz.
Applications ClocksUser specified frequency at which applications will be running at. Can be changed with [-ac | --applications-clocks] switches.
Default Applications ClocksDefault frequency at which applications will be running at. Application clocks can be changed with [-ac | --applications-clocks] switches. Application clocks can be set to default using [-rac | --reset-applications-clocks] switches.
Max ClocksMaximum frequency at which parts of the GPU are design to run. All readings are in MHz.On GPUs from Fermi family current P0 clocks (reported in Clocks section) can differ from max clocks by few MHz.
Clock PolicyUser-specified settings for automated clocking changes such as auto boost.
Supported clocksList of possible memory and graphics clocks combinations that the GPU can operate on (not taking into account HW brake reduced clocks). These are the only clock combinations that can be passed to --applications-clocks flag. Supported Clocks are listed only when -q -d SUPPORTED_CLOCKS switches are provided or in XML format.ProcessesList of processes having Compute or Graphics Context on the device. Compute processes are reported on all the fully supported products. Reporting for Graphics processes is limited to the supported products starting with Kepler architecture.
Stats (EXPERIMENTAL)List GPU statistics such as power samples, utilization samples, xid events, clock change events and violation counters.
Device MonitoringThe "nvidia-smi dmon" command-line is used to monitor one or more GPUs (up to 4 devices) plugged into the system. This tool allows the user to see one line of monitoring data per monitoring cycle. The output is in concise format and easy to interpret in interactive mode. The output data per line is limited by the terminal size. It is supported on Tesla, GRID, Quadro and limited GeForce products for Kepler or newer GPUs under bare metal 64 bits Linux. By default, the monitoring data includes Power Usage, Temperature, SM clocks, Memory clocks and Utilization values for SM, Memory, Encoder and Decoder. It can also be configured to report other metrics such as frame buffer memory usage, bar1 memory usage, power/thermal violations and aggregate single/double bit ecc errors. If any of the metric is not supported on the device or any other error in fetching the metric is reported as "-" in the output data. The user can also configure monitoring frequency and the number of monitoring iterations for each run. There is also an option to include date and time at each line. All the supported options are exclusive and can be used together in any order.Usage:
Daemon (EXPERIMENTAL)The "nvidia-smi daemon" starts a background process to monitor one or more GPUs plugged in to the system. It monitors the requested GPUs every monitoring cycle and logs the file in compressed format at the user provided path or the default location at /var/log/nvstats/. The log file is created with system's date appended to it and of the format nvstats-YYYYMMDD. The flush operation to the log file is done every alternate monitoring cycle. Daemon also logs it's own PID at /var/run/nvsmi.pid. By default, the monitoring data to persist includes Power Usage, Temperature, SM clocks, Memory clocks and Utilization values for SM, Memory, Encoder and Decoder. The daemon tools can also be configured to record other metrics such as frame buffer memory usage, bar1 memory usage, power/thermal violations and aggregate single/double bit ecc errors.The default monitoring cycle is set to 10 secs and can be configured via command-line. It is supported on Tesla, GRID, Quadro and GeForce products for Kepler or newer GPUs under bare metal 64 bits Linux. The daemon requires root privileges to run, and only supports running a single instance on the system. All of the supported options are exclusive and can be used together in any order.Usage:
Replay Mode (EXPERIMENTAL)The "nvidia-smi replay" command-line is used to extract/replay all or parts of log file generated by the daemon. By default, the tool tries to pull the metrics such as Power Usage, Temperature, SM clocks, Memory clocks and Utilization values for SM, Memory, Encoder and Decoder. The replay tool can also fetch other metrics such as frame buffer memory usage, bar1 memory usage, power/thermal violations and aggregate single/double bit ecc errors. There is an option to select a set of metrics to replay, If any of the requested metric is not maintained or logged as not-supported then it's shown as "-" in the output. The format of data produced by this mode is such that the user is running the device monitoring utility interactively. The command line requires mandatory option "-f" to specify complete path of the log filename, all the other supported options are exclusive and can be used together in any order.Usage:
Process MonitoringThe "nvidia-smi pmon" command-line is used to monitor compute and graphics processes running on one or more GPUs (up to 4 devices) plugged into the system. This tool allows the user to see the statistics for all the running processes on each device at every monitoring cycle. The output is in concise format and easy to interpret in interactive mode. The output data per line is limited by the terminal size. It is supported on Tesla, GRID, Quadro and limited GeForce products for Kepler or newer GPUs under bare metal 64 bits Linux. By default, the monitoring data for each process includes the pid, command name and average utilization values for SM, Memory, Encoder and Decoder since the last monitoring cycle. It can also be configured to report frame buffer memory usage for each process. If there is no process running for the device, then all the metrics are reported as "-" for the device. If any of the metric is not supported on the device or any other error in fetching the metric is also reported as "-" in the output data. The user can also configure monitoring frequency and the number of monitoring iterations for each run. There is also an option to include date and time at each line. All the supported options are exclusive and can be used together in any order.Usage:
Topology (EXPERIMENTAL)List topology information about the system's GPUs, how they connect to each other as well as qualified NICs capable of RDMA
vGPU ManagementThe "nvidia-smi vgpu" command reports on GRID vGPUs executing on supported GPUs and hypervisors (refer to driver release notes for supported platforms). Summary reporting provides basic information about vGPUs currently executing on the system. Additional options provide detailed reporting of vGPU properties, per-vGPU reporting of SM, Memory, Encoder, and Decoder utilization, and per-GPU reporting of supported and creatable vGPUs. Periodic reports can be automatically generated by specifying a configurable loop frequency to any command.Usage:
UNIT ATTRIBUTESThe following list describes all possible data returned by the -q -u unit query option. Unless otherwise noted all numerical results are base 10 and unitless.TimestampThe current system timestamp at the time nvidia-smi was invoked. Format is "Day-of-week Month Day HH:MM:SS Year".Driver VersionThe version of the installed NVIDIA display driver. Format is "Major-Number.Minor-Number".HIC InfoInformation about any Host Interface Cards (HIC) that are installed in the system.
Attached UnitsThe number of attached Units in the system.Product NameThe official product name of the unit. This is an alphanumeric value. For all S-class products.Product IdThe product identifier for the unit. This is an alphanumeric value of the form "part1-part2-part3". For all S-class products.Product SerialThe immutable globally unique identifier for the unit. This is an alphanumeric value. For all S-class products.Firmware VersionThe version of the firmware running on the unit. Format is "Major-Number.Minor-Number". For all S-class products.LED StateThe LED indicator is used to flag systems with potential problems. An LED color of AMBER indicates an issue. For all S-class products.
TemperatureTemperature readings for important components of the Unit. All readings are in degrees C. Not all readings may be available. For all S-class products.
PSUReadings for the unit power supply. For all S-class products.
Fan InfoFan readings for the unit. A reading is provided for each fan, of which there can be many. For all S-class products.
Attached GPUsA list of PCI bus ids that correspond to each of the GPUs attached to the unit. The bus ids have the form "domain:bus:device.function", in hex. For all S-class products.NOTESOn Linux, NVIDIA device files may be modified by nvidia-smi if run as root. Please see the relevant section of the driver README file.The -a and -g arguments are now deprecated in favor of -q and -i, respectively. However, the old arguments still work for this release. EXAMPLESnvidia-smi -qQuery attributes for all GPUs once, and display in plain text to stdout.nvidia-smi --format=csv,noheader --query-gpu=uuid,persistence_modeQuery UUID and persistence mode of all GPUs in the system.nvidia-smi -q -d ECC,POWER -i 0 -l 10 -f out.logQuery ECC errors and power consumption for GPU 0 at a frequency of 10 seconds, indefinitely, and record to the file out.log."nvidia-smi -c 1 -i GPU-b2f5f1b745e3d23d-65a3a26d-097db358-7303e0b6-149642ff3d219f8587cde3a8"Set the compute mode to "PROHIBITED" for GPU with UUID "GPU-b2f5f1b745e3d23d-65a3a26d-097db358-7303e0b6-149642ff3d219f8587cde3a8".nvidia-smi -q -u -x --dtdQuery attributes for all Units once, and display in XML format with embedded DTD to stdout.nvidia-smi --dtd -u -f nvsmi_unit.dtdWrite the Unit DTD to nvsmi_unit.dtd.nvidia-smi -q -d SUPPORTED_CLOCKSDisplay supported clocks of all GPUs.nvidia-smi -i 0 --applications-clocks 2500,745Set applications clocks to 2500 MHz memory, and 745 MHz graphics.CHANGE LOG=== Known Issues ===* On Linux GPU Reset can't be triggered when there is pending GOM change. * On Linux GPU Reset may not successfully change pending ECC mode. A full reboot may be required to enable the mode change. === Changes between nvidia-smi v346 Update and v352 === * Added topo support to display affinities per GPU * Added topo support to display neighboring GPUs for a given level * Added topo support to show pathway between two given GPUs * Added "nvidia-smi pmon" command-line for process monitoring in scrolling format * Added "--debug" option to produce an encrypted debug log for use in submission of bugs back to NVIDIA * Fixed reporting of Used/Free memory under Windows WDDM mode * The accounting stats is updated to include both running and terminated processes. The execution time of running process is reported as 0 and updated to actual value when the process is terminated. === Changes between nvidia-smi v340 Update and v346 === * Added reporting of PCIe replay counters * Added support for reporting Graphics processes via nvidia-smi * Added reporting of PCIe utilization * Added dmon command-line for device monitoring in scrolling format * Added daemon command-line to run in background and monitor devices as a daemon process. Generates dated log files at /var/log/nvstats/ * Added replay command-line to replay/extract the stat files generated by the daemon tool === Changes between nvidia-smi v331 Update and v340 === * Added reporting of temperature threshold information. * Added reporting of brand information (e.g. Tesla, Quadro, etc.) * Added support for K40d and K80. * Added reporting of max, min and avg for samples (power, utilization, clock changes). Example commandline: nvidia-smi -q -d power,utilization, clock * Added nvidia-smi stats interface to collect statistics such as power, utilization, clock changes, xid events and perf capping counters with a notion of time attached to each sample. Example commandline: nvidia-smi stats * Added support for collectively reporting metrics on more than one GPU. Used with comma separated with "-i" option. Example: nvidia-smi -i 0,1,2 * Added support for displaying the GPU encoder and decoder utilizations * Added nvidia-smi topo interface to display the GPUDirect communication matrix (EXPERIMENTAL) * Added support for displayed the GPU board ID and whether or not it is a multiGPU board * Removed user-defined throttle reason from XML output === Changes between nvidia-smi v5.319 Update and v331 === * Added reporting of minor number. * Added reporting BAR1 memory size. * Added reporting of bridge chip firmware. === Changes between nvidia-smi v4.319 Production and v4.319 Update === * Added new --applications-clocks-permission switch to change permission requirements for setting and resetting applications clocks. === Changes between nvidia-smi v4.304 and v4.319 Production === * Added reporting of Display Active state and updated documentation to clarify how it differs from Display Mode and Display Active state * For consistency on multi-GPU boards nvidia-smi -L always displays UUID instead of serial number * Added machine readable selective reporting. See SELECTIVE QUERY OPTIONS section of nvidia-smi -h * Added queries for page retirement information. See --help-query-retired-pages and -d PAGE_RETIREMENT * Renamed Clock Throttle Reason User Defined Clocks to Applications Clocks Setting * On error, return codes have distinct non zero values for each error class. See RETURN VALUE section * nvidia-smi -i can now query information from healthy GPU when there is a problem with other GPU in the system * All messages that point to a problem with a GPU print pci bus id of a GPU at fault * New flag --loop-ms for querying information at higher rates than once a second (can have negative impact on system performance) * Added queries for accounting procsses. See --help-query-accounted-apps and -d ACCOUNTING * Added the enforced power limit to the query output === Changes between nvidia-smi v4.304 RC and v4.304 Production === * Added reporting of GPU Operation Mode (GOM) * Added new --gom switch to set GPU Operation Mode === Changes between nvidia-smi v3.295 and v4.304 RC === * Reformatted non-verbose output due to user feedback. Removed pending information from table. * Print out helpful message if initialization fails due to kernel module not receiving interrupts * Better error handling when NVML shared library is not present in the system * Added new --applications-clocks switch * Added new filter to --display switch. Run with -d SUPPORTED_CLOCKS to list possible clocks on a GPU * When reporting free memory, calculate it from the rounded total and used memory so that values add up * Added reporting of power management limit constraints and default limit * Added new --power-limit switch * Added reporting of texture memory ECC errors * Added reporting of Clock Throttle Reasons === Changes between nvidia-smi v2.285 and v3.295 === * Clearer error reporting for running commands (like changing compute mode) * When running commands on multiple GPUs at once N/A errors are treated as warnings. * nvidia-smi -i now also supports UUID * UUID format changed to match UUID standard and will report a different value. === Changes between nvidia-smi v2.0 and v2.285 === * Report VBIOS version. * Added -d/--display flag to filter parts of data * Added reporting of PCI Sub System ID * Updated docs to indicate we support M2075 and C2075 * Report HIC HWBC firmware version with -u switch * Report max(P0) clocks next to current clocks * Added --dtd flag to print the device or unit DTD * Added message when NVIDIA driver is not running * Added reporting of PCIe link generation (max and current), and link width (max and current). * Getting pending driver model works on non-admin * Added support for running nvidia-smi on Windows Guest accounts * Running nvidia-smi without -q command will output non verbose version of -q instead of help * Fixed parsing of -l/--loop= argument (default value, 0, to big value) * Changed format of pciBusId (to XXXX:XX:XX.X - this change was visible in 280) * Parsing of busId for -i command is less restrictive. You can pass 0:2:0.0 or 0000:02:00 and other variations * Changed versioning scheme to also include "driver version" * XML format always conforms to DTD, even when error conditions occur * Added support for single and double bit ECC events and XID errors (enabled by default with -l flag disabled for -x flag) * Added device reset -r --gpu-reset flags * Added listing of compute running processes * Renamed power state to performance state. Deprecated support exists in XML output only. * Updated DTD version number to 2.0 to match the updated XML output SEE ALSOOn Linux, the driver README is installed as /usr/share/doc/NVIDIA_GLX-1.0/README.txtAUTHORNVIDIA CorporationCOPYRIGHTCopyright 2011-2021 NVIDIA Corporation.
Visit the GSP FreeBSD Man Page Interface. |