JupyterLab extension to display system metrics
JupyterLab extension to display system information (memory and cpu usage).
Provides an alternative frontend for the
jupyter-resource-usagemetrics: https://github.com/jupyter-server/jupyter-resource-usage
This extension was originally developed as part of the jupyterlab-topbar project, and extracted into its own repository later on.
This extension requires the
jupyter-resource-usagepackage and the
jupyterlab-topbar-extensionextension 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:
pip install jupyterlab-system-monitor
pip install nbresuse jupyter labextension install jupyterlab-topbar-extension jupyterlab-system-monitor
nbresusecan 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
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 ))
You can change the label and refresh rate in JupyterLab's advanced settings editor:
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.
# create a new conda environment conda create -n jupyterlab-system-monitor -c conda-forge jupyterlab nodejs nbresuse conda activate jupyterlab-system-monitorInstall 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
pip uninstall jupyterlab-system-monitor