Resource management
The JupyterHub installer bundles a conda environment that includes SystemdSpawner to manage resource allocation, security, and process isolation for user notebooks by integrating withsystemd
and Linux cgroups
.
SystemdSpawner provides:
- Memory and CPU limits per user
- Fair scheduling independent of process count
- Accurate resource accounting via cgroups
- Path restrictions for user write access
- Automatic log collection to journald with rotation
- Process isolation through systemd units
Configuration file location
JupyterHub configuration is managed in:Basic resource configuration
Set default resource limits for all users:Advanced resource configuration
Working directory and paths
As an admin, you can control how users access different parts of the workspace. For example, you might make shared datareadonly
while allowing notebook outputs to be writeable
. To configure workspace locations:
Applying configuration changes
Before you restart the JupyterHub service, have all users save their work and log out. JupyterHub is configured through thejupyterhub_config.py
file. Apply any configuration updates to that file, then restart the JupyterHub service:
Security management
SSL/TLS certificate management
Renew self-signed certificates using the bundled Once you have the new certificates, copy them to the
DIY-SSL-CA
script:/opt/jupyterhub/certs
directory:Security hardening
Additional security configurations:Refer to the official JupyterHub documentation for more information on using secure headers.
Monitoring & troubleshooting
Log management
To view JupyterHub service logs: