Need help with jupyterlab-system-monitor?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

jtpio
143 Stars 17 Forks BSD 3-Clause "New" or "Revised" License 142 Commits 11 Opened issues

Description

JupyterLab extension to display system metrics

Services available

!
?

Need anything else?

Contributors list

# 27,718
TypeScr...
jupyter
jupyter...
scikit-...
112 commits
# 36,657
pandas
xarray
jupyter
R
1 commit

JupyterLab System Monitor

Github Actions Status Binder PyPI

JupyterLab extension to display system information (memory and cpu usage).

Provides an alternative frontend for the

jupyter-resource-usage
metrics: https://github.com/jupyter-server/jupyter-resource-usage

screencast

This extension was originally developed as part of the jupyterlab-topbar project, and extracted into its own repository later on.

TODO

  • Add Network I/O
  • Expose more settings

Prerequisites

  • JupyterLab 1.0+
  • Node.js

Installation

This extension requires the

jupyter-resource-usage
package and the
jupyterlab-topbar-extension
extension for JupyterLab.

Note: This extension is not compatible with

nbresuse==0.3.4
.

Starting from JupyterLab 3.0, extensions can be distributed as a Python package. Installation instructions will differ depending on your version of JupyterLab:

JupyterLab 3.x

pip install jupyterlab-system-monitor

JupyterLab 2.x

pip install nbresuse
jupyter labextension install jupyterlab-topbar-extension jupyterlab-system-monitor

nbresuse
can also be installed with
conda
:
conda install -c conda-forge nbresuse

Note: Node.js is required to install JupyterLab extensions. It can be installed with

conda
:
conda install -c conda-forge nodejs

Configuration

Graphic Display

You can set the memory and cpu limits (but not enforce it) to display the indicator in the top bar.

For more info, check the memory limit in the nbresuse repository.

Edit

~/.jupyter/jupyter_notebook_config.py
(note: see here if you do not have a config file:
c = get_config()

memory

c.NotebookApp.ResourceUseDisplay.mem_limit = 10241024*1024

cpu

c.NotebookApp.ResourceUseDisplay.track_cpu_percent = True c.NotebookApp.ResourceUseDisplay.cpu_limit =

For example:

c.NotebookApp.ResourceUseDisplay.mem_limit = 4294967296
c.NotebookApp.ResourceUseDisplay.track_cpu_percent = True
c.NotebookApp.ResourceUseDisplay.cpu_limit = 2

Or use the command line option:

# POSIX shell
jupyter lab --NotebookApp.ResourceUseDisplay.mem_limit=$(( size_in_GB *1024*1024*1024)) \
            --NotebookApp.ResourceUseDisplay.track_cpu_percent=True \
            --NotebookApp.ResourceUseDisplay.cpu_limit=$(( number_of_cpus ))

Advanced Settings

You can change the label and refresh rate in JupyterLab's advanced settings editor:

jupyterlab_setting

Troubleshooting

If you are experiencing issues with the memory and cpu indicators not being displayed, make sure to check the nbresuse changelog for any breaking changes from major releases.

Development

# create a new conda environment
conda create -n jupyterlab-system-monitor -c conda-forge jupyterlab nodejs nbresuse
conda activate jupyterlab-system-monitor

Install dependencies

jlpm

Install the package in development mode

pip install -e .

Link your development version of the extension with JupyterLab

jlpm run develop

Rebuild extension TypeScript source after making changes

jlpm run build

Uninstall

pip uninstall jupyterlab-system-monitor

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.