s-tui - Terminal CPU Stress & Monitor Cheatsheet
s-tui (Stress Terminal UI) is a text-based interface that graphs CPU frequency, temperature, power, and utilization over time, and can drive a CPU stress test at the same time. It is the go-to tool for watching how a machine behaves under load — spotting thermal throttling, validating a cooling fix, or sanity-checking a new build — entirely from the terminal, including over SSH on headless servers.
Installation
| Platform | Command |
|---|
| pip | pip install s-tui |
| Debian/Ubuntu | sudo apt install s-tui |
| Fedora | sudo dnf install s-tui |
| Arch Linux | sudo pacman -S s-tui |
| macOS (Homebrew) | brew install s-tui |
| Stress backend | also install stress or stress-ng for stress mode |
Launching
| Command | Description |
|---|
s-tui | Start the monitor UI |
sudo s-tui | Run as root for full sensor access (some platforms) |
s-tui --csv | Log readings to a CSV file |
s-tui -t | Terminal (no-graph) mode |
s-tui --help | Full option list |
Interface & Modes
| Element | Shows |
|---|
| Frequency graph | Live per-core / average CPU MHz |
| Temperature graph | CPU temperature over time |
| Utilization graph | CPU load percentage |
| Power graph | Package power draw (where available) |
| Mode selector | Switch between Monitor and Stress |
| Mode | Behavior |
|---|
| Monitor | Passive: just graph the sensors |
| Stress | Run stress/stress-ng to load the CPU while graphing |
| Stress options | Configure workers/duration in the side menu |
Keys & Controls
| Key | Action |
|---|
| Arrow keys | Navigate the menu |
Enter / Space | Toggle a selection |
q | Quit |
| Menu → Stress | Start/stop the stress workload |
| Menu → Reset | Clear the graphs |
| Menu → Graphs | Choose which sensors to display |
Detecting Thermal Throttling
The classic workflow: start in Stress mode, watch the frequency and temperature graphs, and look for the frequency dropping while temperature is pinned at the thermal limit — the signature of throttling.
# Stress and watch for throttling
s-tui # switch to Stress mode, observe freq vs temp
# Log a soak test to CSV for later analysis
s-tui --csv # writes readings you can graph/inspect afterward
CSV Logging
| Option | Description |
|---|
--csv | Append readings to s-tui_log_<date>.csv |
--csv-file FILE | Write to a specific CSV path |
-t, --terminal | Print readings to the terminal instead of the UI |
-j, --json | JSON output mode |
Common Workflows
# Validate a cooling/paste fix: soak under stress and confirm temps hold
s-tui # Stress mode for ~10-15 min, watch the temperature plateau
# Headless server check over SSH (no GUI needed)
ssh host -t s-tui
# Record a benchmark's thermal profile to CSV
s-tui --csv-file run1.csv
s-tui shows the thermal/frequency behavior; pair it with sysbench or stress-ng when you also want throughput numbers under the same load.
s-tui vs Other Monitors
| Aspect | s-tui | btop | sysbench |
|---|
| Focus | CPU freq/temp/power + stress | Whole-system resources | Throughput benchmarks |
| Built-in stress | Yes | No | It is the load |
| Graphs over time | Yes | Yes | No |
| Best for | Throttling/cooling validation | General monitoring | Performance numbers |
Resources