# pmdanvidia

## NAME



           **pmdanvidia** - nvidia gpu metrics domain agent (PMDA)
    


## SYNOPSIS



           **$PCP_PMDAS_DIR/nvidia/pmdanvidia**[**-D** _debug_] [**-d** _domain_] [**-l**
           _logfile_] [**-t** _interval_]
    


## DESCRIPTION



           **pmdanvidia** is a Performance Metrics Domain Agent (PMDA) which
           extracts performance metrics describing the metrics available on
           NVIDIA GPU cards via the NVML library.
    
           The **nvidia** PMDA exports metrics that measure gpu activity, memory
           utilization, fan speed, etc on NVIDIA Tesla and Quadro cards.
           Metrics are unlikely to be available for consumer class cards.
    
           A brief description of the **pmdanvidia** command line options
           follows:
    
           **-d** It is absolutely crucial that the performance metrics _domain_
                number specified here is unique and consistent.  That is,
                _domain_ should be different for every PMDA on the one host,
                and the same _domain_ number should be used for the same PMDA
                on all hosts.
    
           **-l** Location of the log file.  By default, a log file named
                _nvidia.log_ is written in the current directory of pmcd(1)
                when **pmdanvidia** is started, i.e.  **$PCP_LOG_DIR/pmcd**.  If the
                log file cannot be created or is not writable, output is
                written to the standard error instead.
    
           **-t** Enables and sets a sampling _interval_ for automatic refreshing
                of metric values.  The functionality is disabled by default,
                however this option allows a time interval to be specified on
                which all values are sampled - this has the effect of
                constantly updating the accumulating metrics, with the goal
                of assisting client tools such as pcp-atop(1) and pmlogger(1)
                to observe sub-sample time changes in GPU and process state.
                Typically these tools have longer sampling intervals, and can
                thus 'miss' activity happening during their sampling
                interval.
    


## INSTALLATION



           The **nvidia** PMDA is not installed and available by default.  If you
           want to undo the installation, do the following as root:
    
                # cd $PCP_PMDAS_DIR/nvidia
                # ./Remove
    
           If you want to establish access to the names, help text and values
           for the nvidia performance metrics once more, after removal, do
           the following as root:
    
                # cd $PCP_PMDAS_DIR/nvidia
                # ./Install
    
           **pmdanvidia** is launched by pmcd(1) and should never be executed
           directly.  The Install and Remove scripts notify pmcd(1) when the
           agent is installed or removed.
    


## FILES



           **$PCP_PMCDCONF_PATH**
                  command line options used to launch **pmdanvidia**
           **$PCP_PMDAS_DIR/nvidia/help**
                  default help text file for the nvidia metrics
           **$PCP_PMDAS_DIR/nvidia/Install**
                  installation script for the **pmdanvidia** agent
           **$PCP_PMDAS_DIR/nvidia/Remove**
                  undo installation script for the **pmdanvidia** agent
           **$PCP_LOG_DIR/pmcd/nvidia.log**
                  default log file for error messages and other information
                  from **pmdanvidia**
    


## PCP ENVIRONMENT



           Environment variables with the prefix **PCP_** are used to
           parameterize the file and directory names used by PCP.  On each
           installation, the file _/etc/pcp.conf_ contains the local values for
           these variables.  The **$PCP_CONF** variable may be used to specify an
           alternative configuration file, as described in pcp.conf(5).
    


## DEBUGGING OPTIONS



           The **-D** or **--debug** option enables the output of additional
           diagnostics on _stderr_ to help triage problems, although the
           information is sometimes cryptic and primarily intended to provide
           guidance for developers rather end-users.  _debug_ is a comma
           separated list of debugging options; use pmdbg(1) with the **-l**
           option to obtain a list of the available debugging options and
           their meaning.
    
           Debugging options specific to **pmdanvidia** are as follows:
           ┌────────┬───────────────────────────────────────────────────────┐
           │ **Option** │ **Description** │
           ├────────┼───────────────────────────────────────────────────────┤
           │ **appl0** │ interaction with pmcd(1)                              │
           ├────────┼───────────────────────────────────────────────────────┤
           │ **appl1** │ loading the _libnvidia-ml_ DSO                          │
           ├────────┼───────────────────────────────────────────────────────┤
           │ **appl2** │ trace select(2) calls                                 │
           └────────┴───────────────────────────────────────────────────────┘
    


* * *