Terminal-based CPU stress and monitoring utility
Stress-Terminal UI, s-tui, monitors CPU temperature, frequency, power and utilization in a graphical way from the terminal.
Please help testing the beta
We are working on release 1.0, please help by reporting bugs and issues with the new version
Install the beta with pip
sudo pip install --pre s-tui
pip install --pre --user s-tui
or run directly from source (details below)
The most up to date version of s-tui is available with pip.
pip install s-tui --user
(This usuall creates an executable in ~/.local/bin/ dir. Make sure it is in your PATH)
To install as root
sudo pip install s-tui
If you are installing s-tui on a Raspberry-Pi you might need to install
Installation in virtualenv with pipsi:
pipsi install s-tui
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
s-tui is a great for monitoring. If you would like to stress your system, install stress. Stress options will then show up in s-tui (optional)
sudo apt-get install stress
s-tui is a self-contained application which 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.
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.
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 interesting in reacting to:
temperaturesource.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.
The latest stable version of s-tui is available via pip. To install pip on Ubuntu run:
sudo apt-get install gcc python-dev python-pip
Once pip is installed, install s-tui from pip:
(sudo) pip install s-tui
A ppa is available but is not always up to date(16.04,18.04)
sudo add-apt-repository ppa:amanusk/python-s-tui sudo apt-get update sudo apt-get install python3-s-tui
sudo apt install s-tui
AUR packages of s-tui are available
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)
[sudo] pip install urwid (--user) [sudo] pip install psutil (--user)
Install stress (optional)
sudo apt-get install stress
Run the .py file
python -m s_tui.s_tui
FIRESTARTER is a great tool to stress your system to the extreme. If you would like, you can integrate FIRESTARTER submodule into s-tui.
To build FIRESTARTER:
git submodule init git submodule update cd ./FIRESTARTER ./code-generator.py make
Once you have completed these steps, you can either:
python -m s_tui.s_tui
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
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
Q: I am not seeing all the stats in the sidebar.
A: The sidebar is scrollable, you can scroll down with
j or scroll to the bottom with
G. You might consider also decreasing the size of the font that you use in your terminal.:)
New issues and Pull Requests are welcome :)
If you notice a bug, please report it as a new issue, using the provided template.
To open a Pull Request, please see CONTRIBUTING for more information.
If you like this work, please star in on GitHub.
If you really like it, share it with your friends and co-workers.
If you really really like this work, leave a tip :)