Skip to navigation

Monitor GPU Usage with NVDashboard

View as Markdown

NVDashboard is an open-source extension that adds a GPU monitoring interface to JupyterLab, so you can monitor GPU utilization and memory while your notebook cells run instead of switching to a separate terminal to run nvidia-smi. Select the GPU icon in the left sidebar to open dashboards in the main work area.

This guide explains how to install and enable NVDashboard on a Brev instance.

NVDashboard is already installed when you create your instance in Single Container mode using any of the Featured Containers.

Prerequisites

  • A running Brev instance with an NVIDIA GPU
  • JupyterLab 4.0 or newer on the instance (refer to Running Jupyter Notebooks)
  • Python 3.11 or newer, with uv installed

Install NVDashboard

1

Connect to Your Instance

brev shell my-instance
2

Activate the Virtual Environment

NVDashboard must be installed in the same Python environment that runs the JupyterLab server, otherwise JupyterLab will not detect it. On a Brev instance that environment is $HOME/.venv. If yours uses a different name or location, activate that path instead:

source "$HOME/.venv/bin/activate"
3

Install the Extension

uv pip install jupyterlab-nvdashboard
4

Verify the Installation

jupyter server extension list 2>&1 | grep -i nvdashboard
jupyter labextension list 2>&1 | grep -i nvdashboard

Both commands should report the extension as enabled. If either reports disabled, enable it before continuing:

jupyter server extension enable jupyterlab_nvdashboard
jupyter labextension enable jupyterlab-nvdashboard

If jupyter labextension list shows a cross (X) next to jupyterlab-nvdashboard, the extension is not compatible with the currently installed JupyterLab version. Upgrade JupyterLab to version 4.0 or later before proceeding.

5

Restart JupyterLab

Restart JupyterLab so it picks up the new extension, then reload your browser tab. Use the first option if JupyterLab was preinstalled on the instance, or the second if you installed it manually.

sudo systemctl restart jupyter.service

Save your work before restarting JupyterLab, as active sessions may be interrupted.

Open the Dashboards

Click the GPU icon in the JupyterLab left sidebar to see the available dashboards. Each one opens as a tab in the main area.

DashboardWhat it shows
GPU MemoryMemory used compared to total, per GPU
GPU UtilizationGPU compute utilization, expressed as a percentage
GPU ResourcesUtilization and memory over time
Machine ResourcesCPU, memory, disk, and network activity
PCIe ThroughputData transfer between host memory and GPU memory
NVLink ThroughputData transfer between GPUs, as a bar chart or a timeline

Drag a dashboard tab to the side of the main area to split the view. The charts and metrics stay visible while your notebook cells run.

For instructions on using NVDashboard, refer to the NVDashboard README.

Notes and Limitations

  • NVLink dashboards require GPUs that are connected to each other by NVLink. Having more than one GPU does not guarantee that NVLink is present. Verify the topology with nvidia-smi topo -m.
  • Charts update every 100 ms by default. Raise the interval under Settings > Settings Editor > NVDashboard to reduce overhead.

Getting Help

If the dashboards still do not work after following this guide, contact support at brev-support@nvidia.com with:

  • Your instance name, ID, and deployment mode.
  • Whether the GPU icon is visible in the sidebar and whether the charts display any data.
  • The output of jupyter server extension list and jupyter labextension list.
  • Your Python and JupyterLab versions, along with the environment where they were installed.

What’s Next