nvidia_smi

package
v0.0.0-...-6ade924 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2022 License: GPL-3.0 Imports: 11 Imported by: 0

README

Nvidia GPU monitoring with Netdata

Monitors performance metrics (memory usage, fan speed, pcie bandwidth utilization, temperature, etc.) using the nvidia-smi CLI tool.

Warning: under development, collects fewer metrics then python version.

Metrics

All metrics have "nvidia_smi." prefix.

Labels per scope:

  • gpu: product_name, product_brand.
Metric Scope Dimensions Units
gpu_pcie_bandwidth_usage gpu rx, tx B/s
gpu_fan_speed_perc gpu fan_speed %
gpu_utilization gpu gpu %
gpu_memory_utilization gpu memory %
gpu_decoder_utilization gpu decoder %
gpu_encoder_utilization gpu encoder %
gpu_frame_buffer_memory_usage gpu free, used, reserved B
gpu_bar1_memory_usage gpu free, used B
gpu_temperature gpu temperature Celsius
gpu_clock_freq gpu graphics, video, sm, mem MHz
gpu_power_draw gpu power_draw Watts
gpu_performance_state gpu P0-P15 state

Configuration

No configuration required.

Troubleshooting

To troubleshoot issues with the nvidia_smi collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
    
  • Switch to the netdata user.

    sudo -u netdata -s
    
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m nvidia_smi
    

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Timeout    web.Duration
	BinaryPath string `yaml:"binary_path"`
}

type NvidiaSMI

type NvidiaSMI struct {
	module.Base
	Config `yaml:",inline"`
	// contains filtered or unexported fields
}

func New

func New() *NvidiaSMI

func (*NvidiaSMI) Charts

func (nv *NvidiaSMI) Charts() *module.Charts

func (*NvidiaSMI) Check

func (nv *NvidiaSMI) Check() bool

func (*NvidiaSMI) Cleanup

func (nv *NvidiaSMI) Cleanup()

func (*NvidiaSMI) Collect

func (nv *NvidiaSMI) Collect() map[string]int64

func (*NvidiaSMI) Init

func (nv *NvidiaSMI) Init() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL