7 Commits

6 changed files with 65 additions and 11 deletions
+8
View File
@@ -0,0 +1,8 @@
if [ -z ${PISTRESS_HOME} ]; then
export PISTRESS_HOME=/home/pi/git/pistress
fi
export THERMAL_ZONE=/sys/class/thermal/thermal_zone0/temp
export FIO_NUMJOBS=$(nproc)
export FIO_RUNNING_TIME=3600
+12 -2
View File
@@ -1,5 +1,15 @@
# pistress
A bunch of scripts for measuring the core temperature of the Raspberry Pi 5 CPU under full load
A bunch of scripts for measuring the core temperature of any single board computer's CPU under full load
and plotting graphs .
Requirements: fio, gnuplot
== Installation ==
sudo apt install -y fio gnuplot
cp .pistressrc ~
Edit ~/.pistressrc and canfigure values for your needs.
== Licence ==
Licenced under MIT Licence See file LICENCE
+23 -3
View File
@@ -7,10 +7,30 @@ usage() {
cat <<-EOF
Usage: ${name} [-h || --help]
measures the pu core temperature an echoes with a squenence number to stdout.
measures the cpu's core temperature and writes it with a timestamp to stdout.
EOF
}
#format the temperature to float value
format_temp() {
ftemp=${1:0:2}
ftemp+="."
ftemp+=${1:2:1}
echo "${ftemp}"
}
#retrieve the cpu's temperature from /sys/class/thermal/thermal_zone0/temp
measure_temp() {
cpu_temp=$(cat ${THERMAL_ZONE})
formatted_temp=$(format_temp "${cpu_temp}")
echo "${formatted_temp}"
}
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
usage
exit 0
@@ -19,8 +39,8 @@ fi
while true; do
NOW=$(date +%s)
TS=$((NOW - START))
TEMP=$(vcgencmd measure_temp | sed 's/[^0-9.]//g')
echo "$TS $TEMP"
TEMP=$(measure_temp)
echo "${TS} ${TEMP}"
sleep 1
done
+3 -3
View File
@@ -1,5 +1,5 @@
#!/bin/bash
VERSION="1.00"
#! /usr/bin/env bash
VERSION="1.04"
usage() {
local name=${0##*/}
@@ -121,6 +121,6 @@ plot LOGFILE using 1:2 with lines lc rgb COLOR lw 2 title 'CPU-Temperatur';
"
echo "Plot erzeugt: $OUTFILE"
echo "Plot generated: ${OUTFILE}"
exit 0
+17 -1
View File
@@ -1,7 +1,23 @@
#! /usr/bin/env bash
if [ -f ~/.pistressrc ]; then
. ~/.pistressrc
else
export PISTRESS_HOME=/home/pi/git/pistress
export FIO_NUMJOBS=$(nproc)
export FIO_RUNNING_TIME=3600
export THERMAL_ZONE=/sys/class/thermal/thermal_zone0/temp
fi
if [ -z "${1}" ]; then
echo "usage run-cpu-stress.sh <logfile>"
exit 1
fi
measure_temp.sh > ${1} &
TPID=$!
fio ~/git/pistress/fio/fio_cpu
fio ${PISTRESS_HOME}/fio/fio_cpu
kill $TPID > /dev/null
unset FIO_NUMJOBS
+1 -1
View File
@@ -2,7 +2,7 @@
ioengine=cpuio
cpuload=100
cpuchunks=100000
runtime=3600
runtime=${FIO_RUNNING_TIME}
time_based
group_reporting
numjobs=${FIO_NUMJOBS}