Watch every process. Quiet the ones that hog your CPU.
SysMonitor reads the counters your operating system already keeps and lowers the priority of runaway processes. One small binary, no runtime dependencies.
See it run
Flip the switch to watch a runaway process lose priority and the CPU bar drop, the way it does in your terminal.
Simulated output for illustration. Real values come from your own system.
CPU USAGE
MEMORY
TOP PROCESSES
| PID | NAME | CPU% | MEM MB | PRIO |
|---|
STATUS
All features
Nothing runs unless you ask. Auto-optimization is off by default and every change it makes is logged. Keep scrolling to move through the list.
How a run works
Start it once and it repeats the same loop until you press Ctrl+C.
Measure a baseline
Averages CPU and memory for about five seconds so every later reading has something to compare to.
Sample the system
Reads OS counters and the process list on each interval, then keeps the ten busiest processes.
Lower the loudest
With -o on, processes above the threshold get a gentler priority so the rest of the system gets CPU time.
Redraw the display
Bars, table and improvement readout refresh in place. Ctrl+C stops cleanly and saves your settings.
Build it in four commands
You need a C++11 compiler, CMake 3.15 or newer and Git. Full steps for each OS are in the docs.
git clone https://github.com/AccoladesIO/sysmonitor.git
cd sysmonitor && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release && cmake --build .
sudo ./bin/sysmonitor start -o
Questions
Short answers about what SysMonitor does to your machine.
Does it kill processes?
No. The only action SysMonitor takes is lowering a process's priority, and only when you start it with -o. Nothing is terminated.
Do I need admin or root rights?
Only for optimization. Monitoring alone runs as a normal user. To change priorities, run as Administrator on Windows or with sudo on Linux and macOS.
Does it keep running in the background?
No. It runs in the foreground of your terminal until you press Ctrl+C. SIGINT and SIGTERM are handled, so your settings are saved on the way out.
Where are my settings and logs stored?
In your config directory: config.json for defaults and sysmonitor.log for the activity log. The docs list the exact path for each platform.
What do I need to build it?
A C++11 compiler, CMake 3.15 or newer and Git. There are no other dependencies.
What license is it under?
MIT. You can use it, change it and ship it. Contributions are welcome through pull requests on GitHub.