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.3.tar.gz (12.5 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.3-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slurm_monitor_top-0.2.3.tar.gz
  • Upload date:
  • Size: 12.5 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.3.tar.gz
Algorithm Hash digest
SHA256 8de8d693424d337ff5bb5b91e800ae9d4dd090090176b8b42607d34cab1585aa
MD5 9050e39532e59a872f77526d259d2356
BLAKE2b-256 467978eea824aa1d70173cf8c85253685017f689d0891e44fd35342bd4f589a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for slurm_monitor_top-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a0d6d9dd90a5f6b96e60b5904b16b410a1a0021a409a36354583b6c13426173f
MD5 6e7a08978c0ec0b16f79eb9fbbea7cfa
BLAKE2b-256 f9af8602d623163183a01284b3af2632771ca9262033a5b5857373c2b37dca14

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