I need this for some stress testing with my CPU. It uses Linux-Debian/Ubuntu OS and I was wondering if there's any way that I could put it under load until it reaches a certain temperature.
Are there any commands, packages or bash scripts for this?
Any help is appreciated!
Download Prime95 from here or use any other CPU-Stress test that works under Debian/Ubuntu.
Get the following package:
sudo apt-get install lm-sensors
Start the sensors in terminal and update continously:
watch sensors
Now start Prime95 or your preferred stress-test and you can see cpu-temp inside terminal. Stop Stress test if cpu-temp exceeds your desired temperature. (modern cpu's are lowering clockspeed or shutting down automatically before damage from overheating is taken)
OR (automatically stopping at a user-specified temp)
Get the following packages:
sudo apt-get install lm-sensors
sudo apt-get install stress
store the following code as bashfile i.e. stresstest.sh
and run it with sh /path/to/stresstest.sh
#!/bin/bash
sensors=/usr/bin/sensors
read_temp() {
# get max Packagetemp from lm-sensors
${sensors} | grep 'Package' | awk '{print int($4)}'
}
echo 'Maximum CPU-Temperature:'
# insert tjMax manually
read tjMax
echo 'Workers for testing:'
# more workers cause higher load on the cpu
read workers
echo 'starting stress-test.'
pckgMax=$( read_temp )
while [ $tjMax -gt $pckgMax ]
do
# update Packagetemp
pckgMax=$( read_temp )
# do 10sec stress-test
# if you discover high temperature overhead, try lowering the --timeout
stress --cpu ${workers} --timeout 10
done
echo 'reached tjMax.'
echo 'stopping stress-test.'
# kill this script and all running sub-processes
kill -- -0