Skip to main content

htop-like monitor for Slurm jobs

Project description

Slurm htop-style TUI

A terminal dashboard for Slurm clusters, inspired by htop.

Project Links

Screenshot

slurm-top screenshot

Features

  • Live jobs table with interactive sort and filters
  • Live node/server table (CPU and memory totals, reserved, and free)
  • Live disk table (df -h) with usage, mount path, type, and size
  • Job statistics split by:
    • all users
    • your jobs
    • other users
  • GPU status under nodes:
    • number of GPU types
    • total GPUs
    • active GPUs (running jobs)
    • reserved GPUs (pending jobs)
  • Auto refresh every 3 seconds

Requirements

  • Python 3.9+
  • Slurm CLI commands available in PATH:
    • squeue
    • sinfo
  • Python packages: see requirements.txt (main dependencies: textual, rich)

Install

Install from PyPI:

pip install slurm-monitor-top

For local development (editable install), create and activate a virtual environment, then:

pip install -e .

Run

With that environment activated:

slurm-top

Alias command also works:

stop

You can still run it directly during development:

python stop.py

Build Package

python -m pip install --upgrade build twine
python -m build
twine check dist/*

Keybindings

  • q quit
  • r refresh
  • s toggle sort-pick mode
  • d asc/desc
  • f owner filter (all, me, others)
  • Enter open selected job details popup
  • Alt+Left/Right shrink/grow currently focused panel (tab/click to focus)
  • 0 reset panel layout
  • In GPU status panel, Enter opens jobs using/reserving selected GPU type
  • In job details popup:
    • c cancel job
    • h hold job
    • u release job
    • r requeue job
    • Esc close popup

Panels

  • Left panel (Jobs)

    • Interactive sorting and filtering (see keybindings)
    • Includes GPU count per job
  • Right panel (Nodes)

    • Uses full right-column height
    • Node state
    • CPU total/allocated/idle
    • Memory:
      • total
      • reserved
      • free
    • Memory is displayed in human-readable units (M, G, T)
    • GPU total per node
  • GPU status (under Nodes)

    • Cluster totals: total / active / reserved / free estimate
    • Per GPU type: total / active / reserved / free estimate
  • Bottom panel (Job statistics)

  • Bottom row

    • GPU status panel
    • Disk usage panel
    • Job statistics panel
  • Bottom panel (Job statistics)

    • Per owner bucket: all / me / others
    • For running and pending:
      • jobs count
      • GPU sum
      • CPU sum
      • memory sum

Notes

  • Refresh interval is set in stop.py (REFRESH_INTERVAL = 3.0).
  • Some Slurm deployments format memory fields differently; if numbers look off, adjust parsing in stop.py.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slurm_monitor_top-0.2.4.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slurm_monitor_top-0.2.4-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file slurm_monitor_top-0.2.4.tar.gz.

File metadata

  • Download URL: slurm_monitor_top-0.2.4.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for slurm_monitor_top-0.2.4.tar.gz
Algorithm Hash digest
SHA256 b65b7a5a399ffef80ad645c400f0021e083c1e4d93624b15b1452e4bcca1cca1
MD5 9abba1bc871c0cf621c6f5407fa0938a
BLAKE2b-256 45794629f50f4c3d9a414217b9eccccd893ef1abc50fbd69178df30d160aa078

See more details on using hashes here.

File details

Details for the file slurm_monitor_top-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for slurm_monitor_top-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 726268579905cb8a87b3e59289958052c0295c1b3d2ef3a0c7c2323be0242b0f
MD5 14aa021ab9d344fb5488f3fd89aa516d
BLAKE2b-256 9c1cd02410dc38cc3a91f48ab1b44d842bbce6dce320b7171870842b01a962ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page