amanusk

s-tui: Monitor and Stress-Test CPUs in the Terminal

s-tui is a terminal interface for monitoring CPU temperature, frequency, power, and utilization, with built-in stress testing. It suits Linux users who want to observe CPU behavior or check for thermal throttling without a graphical desktop.

Stars
5.1k
Forks
182
Stars, last 8 days
+3

Our take

Health score

48/100

How it is scored
Activity
53
Community
47
Issues
45
Pull requests
48

+3 stars in the last 8 days

  • Slower to close issues than 97% of the projects we track

Overview

s-tui displays CPU sensor readings and graphs in a terminal, helping users see how temperature, frequency, power, and utilization change over time. Its built-in stress test lets users observe the system under load and spot performance dips associated with thermal throttling.

It is intended for CPU monitoring and load testing, not process management. The interface runs without an X server, making it useful on terminal-only systems as well as desktop Linux machines.

Key Features

  • Graphs CPU temperature, frequency, power, and utilization.
  • Highlights performance dips related to thermal throttling.
  • Provides a built-in CPU stress test that works without additional stress-test dependencies.
  • Offers optional integration with stress or stress-ng for additional stress options.
  • Exports statistics to CSV or displays a single-line text or JSON reading.
  • Supports keyboard navigation and can disable mouse input for some TTY setups.
  • Can run configured shell hooks when the CPU temperature threshold is exceeded.

Use Cases

  • Linux users can watch CPU temperature and frequency during ordinary workloads or sustained computation.
  • Hardware enthusiasts can run a CPU load test and check whether performance drops as the system heats up.
  • Administrators of headless or terminal-only systems can monitor CPU readings without an X server.
  • Developers and testers can save sensor statistics to CSV for later inspection.

Getting Started

Install from PyPI and start the interface:

pip install s-tui --user
s-tui

See the README for platform-specific installation options, configuration, and command-line flags.

Considerations

  • Available readings depend on hardware and operating-system support through psutil; not every system exposes every statistic.
  • The terminal UI uses urwid, which the project documents as working on UNIX-like systems.
  • Power readings are supported on Intel Core CPUs from Sandy Bridge onward and AMD Family 17h through the amd_energy driver.
  • Detailed throttle indicators require root access and the msr module on supported Intel and AMD systems. Without them, the documented fallback is limited to thermal indicators.
  • The built-in stress test can run without extra dependencies; optional numpy can improve its stress workload, while stress or stress-ng provides additional options.
  • The project is licensed under GPL-2.0, which may be a consideration when incorporating its code into other software.

Found this useful?

Share it with someone who would like s-tui.