Stress Terminal UI stress test and monitoring tool
Project description
s-tui is a terminal UI for monitoring your computer. s-tui allows to monitor CPU temperature, frequency, power and utilization in a graphical way from the terminal.
Screenshot
What it does
Monitoring your CPU temperature/utilization/frequency/power
Shows performance dips caused by thermal throttling
Requires minimal resources
Requires no X-server
Built in options for stressing the CPU (stress/stress-ng)
Usage
s-tui
or
sudo s-tui
Simple installation
pip (x86 + ARM)
The most up to date version of s-tui is available with pip
sudo pip install s-tui
Or if you cannot use sudo:
pip install s-tui --user
If you are installing s-tui on a Raspberry-Pi you might need to install python-dev first
Installation in virtualenv with pipsi:
pipsi install s-tui
Options
********s-tui manual******** usage: s-tui [-h] [-d] [-c] [-t] [-j] [-nm] [-v] [-ct CUSTOM_TEMP] TUI interface: The side bar houses the controls for the displayed grahps. At the bottom of the side bar, more information is 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 a different temperature sensors from the 'Temp Sensors' menu * Change time between updates using the 'Refresh' field * Use the 'Reset' button to reset graphs and statistics * Toggle displayed graphs by selecting the [X] check box * If a sensor is not available on your system, N/A is presented * If your system supports it, you can use the utf8 button to get a smoother graph * 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 -c, --csv Save stats to csv file -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 -ct CUSTOM_TEMP, --custom_temp CUSTOM_TEMP Custom temperature sensors. The format is: <sensors>,<number> As it appears in 'sensors' e.g > sensors it8792-isa-0a60, temp1: +47.0C temp2: +35.0C temp3: +37.0C use: -ct it8792,0 for temp 1 -cf CUSTOM_FAN, --custom_fan CUSTOM_FAN Similar to custom temp e.g >sensors thinkpad-isa-0000 Adapter: ISA adapter fan1: 1975 RPM use: -cf thinkpad,0 for fan1
Dependencies
s-tui is a great tool for monitoring. If you would like to stress your computer, install stress. Stress options will then show up in s-tui (optional)
sudo apt-get install stress
Configuration
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.
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 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.
More installation methods
Ubuntu
Ubuntu(PPA)
A ppa is available but is not always up to date(xenial,bionic)
sudo add-apt-repository ppa:amanusk/python-s-tui sudo apt-get update sudo apt-get install python3-s-tui
Ubuntu(18.10)
sudo apt install s-tui
Arch-Linux
AUR packages of s-tui are available
Run from source
git clone https://github.com/amanusk/s-tui.git
Install dependencies, these need to be installed to run python -m s_tui.s_tui
(sudo) pip install urwid (sudo) pip install psutil
Install stress (optional)
sudo apt-get install stress
Run the .py file
(sudo) python -m s_tui.s_tui
OPTIONAL integration of FIRESTARTER (via submodule, does not work on all systems)
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
Compatibility
s-tui uses psutil to probe some of your hardware information. If your hardware is not supported, you might not see all the information.
- On Intel machines:Running s-tui as root gives access to the maximum Turbo Boost frequency available to your CPU when stressing all cores. Running without root will display the Turbo Boost available on a single core.
Power read is supported on Intel Core CPUs of the second generation and newer (Sandy Bridge)
s-tui tested to run on Raspberry-Pi 3,2,1
FAQ
Contributing
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.
Tip
If you like this work, please star in on GitHub.
If you realy like it, share it with your friends and co-workers.
If you really really like this work, leave a tip :)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.