Skip to main content

sysresource-monitor

CPU, RAM and per-drive disk usage on a small always-on-top toast that parks itself just above the system clock - and slides out of the way the moment your cursor comes near it.

🖥  System Resources                       61%
    CPU   6.2 of 8 cores idle   25°C       23%
          ▁▃▁▂█▁▂▁                             <- one bar per logical core
    RAM   6.7 GB free of 15.9 GB           58%
    CPU↑  python.exe                        7%
    RAM↑  studio64.exe   1.7 GB            11%
    C:    161.0 GB free of 350.9 GB        54%
    D:    62.2 GB free of 125.2 GB         50%
    G:    152.9 GB free of 350.9 GB        56%
    updated 23:23:24   every 5s   3 drives   % = in use

No config file, no HTTP server, no background service - a tray icon and a toast, plus a CLI for when you just want the numbers.

Install

pip install sysresource-monitor

Requires Python 3.11+, PySide6 for the toast and psutil for the numbers.

Use

sysresource-monitor                    # launch the tray toast
sysresource-monitor --interval 2       # ... sampling every 2 seconds
sysresource-monitor --all-mounts       # ... including mounts psutil hides
sysresource-monitor status             # print one sample as a table
sysresource-monitor status --json      # print one sample as JSON
sysresource-monitor status --swap      # include swap usage
sysresource-monitor status --watch     # redraw the table every 5 seconds
sysresource-monitor status --watch 2   # ... every 2 seconds instead
sysresource-monitor status --no-procs  # skip the top-consumer scan
sysresource-monitor status --no-temp   # skip the temperature query

Also runs as python -m sysresource_monitor [...], or on Windows via run_monitor.bat, which pins the py -3.13 launcher so a stray python on PATH can't pick an interpreter without PySide6 installed.

sysresource-monitor status needs no display, so it works over SSH or in a container.

What it shows

Each row pairs what is spare (in words, on the left) with what is in use (the percentage, on the right). Those are opposite quantities, so the left-hand text always names itself - idle, free - and the percentage column is labelled once, in the footer, as % = in use.

Row left: spare capacity right: in use
CPU 6.2 of 8 cores idle, plus temperature current load
core strip one bar per logical core per-core load
RAM 6.7 GB free of 15.9 GB memory in use
CPU↑ the process using the most CPU its share of the machine
RAM↑ the process using the most RAM, and how much its share of RAM
One row per fixed drive 161.0 GB free of 350.9 GB space in use

Per-process CPU is normalised by core count, so CPU↑ 25% means a quarter of the whole machine, the way Task Manager counts it - not a quarter of one core. The terminal view prints both figures.

The badge in the header is the highest pressure of all the rows, and it colours the whole card: green under 70%, amber from 70%, red from 90%. Each row's own percentage is coloured on the same scale, so a drive filling up stands out without you reading the numbers.

The temperature row is best-effort and is simply omitted when the platform won't answer - notably on macOS, and on Windows it is a chassis/zone reading rather than the CPU die.

Tray menu

  • Refresh now - resample immediately, disks included
  • Show toast / Hide toast
  • Quit

Single-click or double-click the tray icon to bring the toast back.

Licence

MIT - see LICENSE.

Download files

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

Source Distribution

sysresource_monitor-0.2.3.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

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

sysresource_monitor-0.2.3-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysresource_monitor-0.2.3.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for sysresource_monitor-0.2.3.tar.gz
Algorithm Hash digest
SHA256 b271e859f14fbdb323d9c509d5c667be95eaa646184fc41969476a18059ea2c6
MD5 3aa7e963acc29dbfcaa932aa6908ab78
BLAKE2b-256 2c796d26ba187ffd79c5d780c282219083e04d422e31a9157fe046b869c885b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sysresource_monitor-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9de6d534390498a85125e6d584c44a635f4d34ad9b86afaf7331e0a2b3d49934
MD5 cab4df267dfa7dd73fa5bccd37f4ff28
BLAKE2b-256 28e0c7d4eb6fab7f8f3e7d60ccb35d2a5db66ca6eb96760d447bc04ef2b21fc1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.4

2 files

This release

0.2.3 This release

2 files

0.2.2

2 files

0.2.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page