How to Install and Use s-tui in Linux to Monitor CPU Temperature, Frequency, and Power

Monitoring processor performance, thermal dynamics, and power utilization is vital for diagnosing performance bottlenecks, hardware stability issues, and cooling failures on Linux systems. While tools like top or htop track process-level CPU utilization, they often lack granular visibility into per-core frequencies, thermal sensor readings, power wattage, and hardware throttling triggers. s-tui (Stress Terminal UI) is a terminal-based monitoring and stress-testing tool written in Python that provides a real-time graphical dashboard of your processor’s hardware statistics directly in the command line.

Without requiring an X server or desktop environment, s-tui renders smooth ASCII-based graphs tracking CPU temperature across sensors, current clock frequencies, system fan speeds, and hardware power draw. It also integrates seamlessly with stress or stress-ng to execute automated load tests while observing thermal throttling behaviour. In this guide, you will learn how to install s-tui on major Linux distributions, navigate its interactive interface, monitor hardware sensors, and conduct stress tests.

Key Features of s-tui

s-tui is specifically tailored for hardware enthusiasts, system administrators, and developers who need low-overhead hardware telemetry:

  • Real-Time Graphing: Displays live, side-by-side graphical charts tracking temperature, frequency, power consumption, and overall CPU load.
  • Thermal Throttling Detection: Actively monitors hardware status flags to notify you immediately if thermal throttling or power-limit throttling occurs.
  • Integrated Stress Testing: Allows you to initiate load testing directly from the interface using backend tools like stress or stress-ng.
  • Lightweight and Headless Ready: Operates efficiently over SSH connections on remote servers, single-board computers (such as Raspberry Pi), and local workstations.
  • Data Export Capabilities: Supports logging telemetry metrics to a CSV file for long-term hardware analysis and benchmarking records.

Step 1: Install s-tui on Linux

s-tui is available in the official package archives of most Linux distributions and can also be installed using Python’s package manager.

Installing on Debian, Ubuntu, and Linux Mint

On Debian-based systems, install s-tui along with the stress utility:

sudo apt update
sudo apt install s-tui stress -y

Installing on Fedora, RHEL, and AlmaLinux

On Fedora and enterprise distributions, install via dnf:

sudo dnf install s-tui stress -y

Installing on Arch Linux and Manjaro

On Arch-based distributions, install the package from the official community repository:

sudo pacman -S s-tui stress

Alternative: Installing via pipx (Universal Python Installation)

If you prefer an isolated user-space Python installation or require the absolute latest release:

pipx install s-tui

Step 2: Launch and Navigate the s-tui Interface

To launch s-tui with full hardware sensor access, it is generally recommended to run it with root privileges so that all kernel sensor interfaces in /sys/class/hwmon and RAPL power interfaces can be queried:

sudo s-tui

The interface divides your terminal into two primary sections:

  • Left Sidebar: Contains mode toggles (Monitor, Stress), individual graph switches (Frequency, Utilization, Temperature, Power), and sensor value summaries.
  • Main Canvas: Displays dynamic, auto-scaling ASCII graphs tracking your selected metrics in real time.

Use your keyboard arrow keys or mouse clicks to navigate options in the left-hand menu. Press Tab to cycle between controls, and press Space or Enter to toggle specific metrics on or off.

Step 3: Monitor CPU Temperatures, Frequencies, and Power

In default Monitor mode, s-tui continuously polls your hardware sensors:

Inspecting Core Frequencies and Throttling

Under the Frequency chart, s-tui graphs the operational clock speeds of all individual cores. If your system encounters thermal throttling under load, you will see a sudden downward drop in frequency accompanied by a throttling indicator, signaling that the CPU is down-clocking to prevent overheating.

Inspecting Temperature Sensors

The Temp chart visualises sensor readings from CPU package sensors, individual core diodes, and auxiliary motherboard temperature probes. Temperatures are displayed in degrees Celsius along with historical peak values.

Monitoring Power Consumption (Watts)

On supported modern Intel and AMD processors featuring Running Average Power Limit (RAPL) interfaces, the Power chart visualises real-time wattage consumption. This is particularly valuable for diagnosing power caps on laptops and dense rack servers.

Step 4: Conduct a CPU Stress Test

To evaluate the thermal headroom of your cooling solution or verify system stability after hardware maintenance:

  1. Inside s-tui, use the arrow keys to highlight the Stress button on the left sidebar.
  2. Press Space or Enter to initiate the workload.
  3. s-tui invokes the background stress process, spinning all CPU cores up to 100% utilization.
  4. Observe the real-time temperature ramp curve on the graph canvas. Ensure temperatures plateau at a safe operating ceiling without triggering severe thermal throttling.
  5. Highlight the Monitor button and press Enter to terminate the stress test and return the system to idle state.

Step 5: Export Sensor Telemetry to a CSV File

If you are running automated hardware benchmarks or diagnosing intermittent thermal shutdowns over extended periods, log metrics to a CSV file:

sudo s-tui --csv --csv-file cpu_thermal_log.csv

s-tui writes timestamps alongside temperature, frequency, power, and utilization values at each sampling interval. Press q or Ctrl + C to stop logging and exit the application.

Command-Line Options and Useful Flags

Customise your monitoring session using these helpful flags:

  • s-tui -t: Launches directly into Temperature-only graphing mode.
  • s-tui -f: Launches directly into Frequency-only graphing mode.
  • s-tui -p: Launches directly into Power-only graphing mode.
  • s-tui --dr <seconds>: Sets the graph refresh and polling interval (for example, s-tui --dr 0.5 for half-second updates).
  • q: Quits the interactive interface immediately.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.