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.2.tar.gz (18.7 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.2-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysresource_monitor-0.2.2.tar.gz
  • Upload date:
  • Size: 18.7 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.2.tar.gz
Algorithm Hash digest
SHA256 5cea8194b9c60531b4bb6fbf545aeedd6196fc3b3f12ea1f7a0e0f5486e21992
MD5 ff505145de8303f468112ce2841c7ae5
BLAKE2b-256 9f219f2ff59d0a183f6d861051925b6439040cc661e8f2311f0ef0ad028b4310

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sysresource_monitor-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3f00de965bb791a9e0d7bb8501981cba2cfabfdda3acaa8ff47ee3799defe894
MD5 2f1bbb9ff40e9a7b2355ecc363935cf4
BLAKE2b-256 5623339dd35ab9cac357e4ae6095fcf4b0028940b64092573b3358ba3c6c48b0

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.4

2 files

0.2.3

2 files

This release

0.2.2 This release

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