TopGit tracks amanusk/s-tui on GitHub as part of the Developer Tools family. The project has 5.1k stars. Terminal-based CPU stress and monitoring utility
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
s-tui-git follows the master branch, maintained by @MauroMombelli
Install it with:
yay -S s-tui-git
OpenSUSE
sudo zypper install s-tui
Fedora
s-tui is in the Fedora repository:
sudo dnf install s-tui
Options
TUI interface:
The side bar houses the controls for the displayed graphs.
At the bottom, all sensors reading are presented in text form.
* Use the arrow keys or 'hjkl' to navigate the side bar
* Toggle between stressed and regular operation using the radio buttons in 'Modes'.
* If you wish to alternate stress defaults, you can do it in <Stress options>
* Select graphs to display in the <Graphs> menu
* Select summaries to display in the <Summaries> menu
* Use the <Reset> button to reset graphs and statistics
* If your system supports it, you can use the UTF-8 button to get a smoother graph
* Save your current configuration with the <Save Settings> button
* Press 'q' or the <Quit> button to quit
* Run `s-tui --help` to get this message and additional cli options
optional arguments:
-h, --help show this help message and exit
-d, --debug Output debug log to _s-tui.log
--debug-file DEBUG_FILE
Use a custom debug file. Default: _s-tui.log
-dr, --debug_run Run for 5 seconds and quit
-c, --csv Save stats to csv file
--csv-file CSV_FILE Use a custom CSV file. Default: s-tui_log_<TIME>.csv
-t, --terminal Display a single line of stats without tui
-j, --json Display a single line of stats in JSON format
-nm, --no-mouse Disable Mouse for TTY systems
-v, --version Display version
-tt T_THRESH, --t_thresh T_THRESH
High Temperature threshold. Default: 80
Throttle Indicators
When CPU throttling is detected, s-tui changes the frequency graph and summary text color and appends a reason label. Labels may be combined with / (e.g. T/W).
Intel, with root + msr module (detailed per-core reasons via IA32_THERM_STATUS):
Label
Meaning
T
Thermal — core temperature exceeded TjMax
H
PROCHOT — external thermal signal (VRM, GPU, battery)
C
Critical — near emergency shutdown temperature
W
Power limit — PL1/PL2 watt budget exceeded
A
Current limit — electrical current (amps) limit hit
X
Cross-domain — throttled by another domain (e.g. GPU)
AMD, with root + msr module (per-core P-state cap via PStateCurLim):
Label
Meaning
Pc
P-state cap — the SMU has barred the core from its top P-state
AMD exposes no equivalent of Intel's reason breakdown through MSRs. The
thermal/power/current limits themselves (PPT, TDC, EDC, THM, STAPM) live in the
SMU power-management table, which needs an out-of-tree kernel module to reach,
so PStateCurLim is what remains: it indicates that a cap is in force, not why.
It behaves as a severity threshold rather than a reason code — the same chip
pinned at the same temperature was observed showing Pc under a load heavy
enough to drive it below its rated base clock, and nothing under a lighter one.
Expect it to stay clear on a well-cooled part that is boost-limited but never
forced that far down.
Without root (sysfs fallback, thermal only):
Label
Meaning
Tc
Core thermal throttle
Tp
Package thermal throttle (affects all cores)
When a temperature sensor exceeds the high value defined by the sensor, or a user configured threshold (default 80°C), the sensor summary text summary and associated graph will change color to indicate this.
Dependencies
s-tui includes a built-in CPU stress test that works out of the box with no extra dependencies. For better stress performance, install numpy:
pip install s-tui[stress]
or install numpy directly:
pip install numpy
When numpy is available, the built-in stresser uses repeated dense matrix multiplication (BLAS) for maximum thermal output. Without numpy, it falls back to hashlib SHA-256 hashing which still provides good CPU load.
For additional stress options (memory, I/O, sync workers), you can optionally install the external stress or stress-ng tool:
sudo apt-get install stress
Configuration
s-tui is a self-contained application that can run out-of-the-box and doesn't need config files to drive its core features. However, additional features like running scripts when a certain threshold has been exceeded (e.g. CPU temperature) does necessitate creating a config directory. This directory will be made in ~/.config/s-tui by default.
Saving a configuration
Selecting <Save Settings> will save the current configuration to ~/.config/s-tui/s-tui.conf. If you would like to restore defaults, simply remove the file.
Adding threshold scripts
s-tui gives you the ability to run arbitrary shell scripts when a certain threshold is surpassed, like your CPU temperature. You can define this custom behaviour by adding a shell file to the directory ~/.config/s-tui/hooks.d with one of the following names, depending on what threshold you're interested in reacting to:
tempsource.sh: triggered when the CPU temperature threshold is exceeded
If s-tui finds a script in the hooks directory with the name of a source it supports, it will run that script every 30 seconds as long as the current value of the source remains above the threshold.
Note that at the moment only CPU temperature threshold hooks are supported.
Run from source code
Start by cloning the repository
git clone https://github.com/amanusk/s-tui.git
cd s-tui
Install required dependencies as [root] or as (local user)
s-tui uses psutil to probe hardware information. If your hardware is not supported, you might not see all the information.
s-tui uses urwid as a graphical engine. urwid only works with UNIX-like systems
Power read is supported on Intel Core CPUs of the second generation and newer (Sandy Bridge)
and on AMD Family 17h CPUs through the amd_energy driver.
s-tui tested to run on Raspberry-Pi 4,3,2,1
FAQ
Q: How is this different from htop? A: s-tui is not a processes monitor like htop. The purpose is to monitor your CPU statistics and have an option to test the system under heavy load. (Think AIDA64 stress test, not task manager).
Q: I am using the TTY with no X server and s-tui crashes on start A: By default, s-tui is handles mouse inputs. This causes some systems to crash. Try running s-tui --no-mouse
Q: I am not seeing all the stats in the sidebar. A: The sidebar is scrollable, you can scroll down with DOWN or j or scroll to the bottom with PG-DN or G. You might consider also decreasing the size of the font that you use in your terminal.:)
The most recent commit recorded on amanusk/s-tui was 15 days ago, based on the GitHub push timestamp. The repository has 180 forks — one of the better signals of community interest.
Is amanusk/s-tui open source?
Yes — amanusk/s-tui ships under the GPL-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/amanusk/s-tui.
What license does amanusk/s-tui use?
amanusk/s-tui is released under the GPL-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
The project maintains a homepage at https://amanusk.github.io/s-tui/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about amanusk/s-tui?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/amanusk/s-tui is the definitive source.
Read full README in the tab above.
Curious whether s-tui is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about s-tui.