Python Monitor

The whole machine at a glance, in one window.

SystemMonitor.py · live refresh 1s
CPU
8 cores
RAM
19.5 GB
DISK
C: drive
12
PYTHON
processes
PROCESS GROUP CPU % RAM MB
EURUSD_Trend.pyTrend4.2148
GBPJPY_Break.pyBreakout2.8132
XAUUSD_MeanRev.pyMean-Rev6.1171
US500_Momentum.pyMomentum3.5140
BTCUSD_Grid.pyGrid5.0159
Heartbeat_Watch.pyMonitor0.964

Every strategy, its own line

A top banner reads the system: CPU, RAM, disk and how many Python processes are alive. Below it, one row per running strategy, each with its own CPU and RAM, refreshing continuously.

  • System banner · the machine in four live numbers.
  • Per-process detail · CPU and memory for each strategy, isolated.
  • Grouped · processes folded by family, so a spike has a name.
  • Always fresh · the table repaints on a steady tick.
SYSTEM CPU 34% · RAM 61% · Disk 47% · 12 py EURUSD_Trend XAUUSD_MeanRev US500_Momentum BTCUSD_Grid Heartbeat_Watch

One pass, four steps

On every tick the monitor walks the machine and rebuilds the picture, cleanly. My code, no external agent watching it.

Discoverfind every live Python process
ReadCPU and RAM per process
Groupfold by strategy family
Refreshrepaint and wait the next tick
monitor.py
while True:
    sys  = read_system()        # cpu, ram, disk
    procs = find_python_procs()  # all live

    for p in procs:
        p.cpu = read_cpu(p)
        p.ram = read_ram(p)

    table = group_by_family(procs)
    render(sys, table)          # repaint
    sleep(1)

Nothing runs unseen

The desk, its strategies and its resources, all on one screen, refreshing live.