#cpu #load #monitoring #thermal #stability #utility #output

app strain

A CPU stressing utility written in Rust

7 releases

0.1.2 Jul 27, 2024
0.1.1 Jul 14, 2024
0.1.0 May 21, 2024
0.0.6 May 12, 2024

#166 in Concurrency

36 downloads per month

GPL-3.0-or-later

21KB
399 lines

Strain

⚠️ Warning ⚠️

This project is currently in the v0.x stage. There may be many bugs and it is not even guaranteed that it will compile/run at all. That said, please report any bugs by filing an issue on the GitHub page. Please label your issues with the relevant labels.

In addition to the project being v0.x, the nature of this program is to create very taxing workloads on a processor. Without proper cooling this could result in the processor reaching unsafe temperature. Please exercise caution and equip a CPU temperature reading program to make sure your CPU does not burn out.

A good CPU monitoring tool on GNU/Linux is lm_sensors.

Description

Strain is a lightweight CPU stress-testing utility written in Rust. The main purpose it serves is to determine CPU stability and thermal output under load.

Building

Prerequisites

Ensure that the Rust compiler, the C compiler (GCC), and Cargo are installed on your system.

Ensure that the following libraries are available on your system:

  • The GNU Multiple Precision library (gmp)
  • GMPFR (gmpfr)
  • MPC (libmpc)

Then, run the following command from the project root: cargo build --frozen --release. This will produce a binary in the target/release folder called strain.

If the binary is not there, it is likely you have the CARGO_TARGET_DIR environment variable set. In that case, the binary is located at $CARGO_TARGET_DIR/release/strain.

Dependencies

~22MB
~520K SLoC