Browse Source

#673 adapted stresstest fpr RaspberryPi4

v1.3
Christian Rotzoll 6 years ago
parent
commit
1c2391c8d6
  1. 36
      home.admin/config.scripts/blitz.stresstest.sh

36
home.admin/config.scripts/blitz.stresstest.sh

@ -26,7 +26,29 @@ if [ ${sysbenchInstalled} -eq 0 ];then
fi fi
# do debug outputs to the STDERR - so that the STDOUT is just the results in the end # do debug outputs to the STDERR - so that the STDOUT is just the results in the end
echo "RaspiBlitz Hardwaretest v0.1" >&2 echo "RaspiBlitz Hardwaretest v0.2" >&2
# detect hardware version of RaspberryPi
# https://www.unixtutorial.org/command-to-confirm-raspberry-pi-model
raspberryPi=${cat /proc/device-tree/model | cut -d " " -f 3 | sed 's/[^0-9]*//g'}
if [ ${#raspberryPi} -eq 0 ]; then
raspberryPi=0
fi
echo "RaspberryPi Model Version: ${raspberryPi}"
if [ ${raspberryPi} -lt 4 ]; then
# raspberryPi 3 and lower (microUSB power connector)
voltWARN=1230000
voltFAIL=1200100
tempWARN=6500
tempFAIL=6999
else
# raspberryPi 4 and up (USB-C power connector)
voltWARN=871800
voltFAIL=871800
tempWARN=7599
tempFAIL=7799
fi
echo "Starting sysbench to run for 60 seconds (--max-time=60 --cpu-max-prime=10000)" >&2 echo "Starting sysbench to run for 60 seconds (--max-time=60 --cpu-max-prime=10000)" >&2
# result values # result values
@ -61,11 +83,11 @@ for (( n=0; n<15; ++n )); do
voltFloat=$(echo "${CoreVoltage/V/}*1000000" | bc) voltFloat=$(echo "${CoreVoltage/V/}*1000000" | bc)
voltInt=${voltFloat/.*} voltInt=${voltFloat/.*}
#echo "V -> ${voltFloat}/${voltInt}" #echo "V -> ${voltFloat}/${voltInt}"
if [ ${voltInt} -lt 1200100 ] && [ ${powerWARN} -gt 1 ]; then if [ ${voltInt} -lt ${voltFAIL} ] && [ ${powerWARN} -gt 1 ]; then
((powerFAIL=powerFAIL+1)) ((powerFAIL=powerFAIL+1))
echo "--> Power CRITICAL detected" >&2 echo "--> Power CRITICAL detected" >&2
fi fi
if [ ${voltInt} -lt 1230000 ]; then if [ ${voltInt} -lt ${voltWARN} ]; then
((powerWARN=powerWARN+1)) ((powerWARN=powerWARN+1))
echo "--> Power WARN detected" >&2 echo "--> Power WARN detected" >&2
fi fi
@ -77,11 +99,11 @@ for (( n=0; n<15; ++n )); do
tempFloat=$(echo "${Temp/\'C/}*100" | bc) tempFloat=$(echo "${Temp/\'C/}*100" | bc)
tempInt=${tempFloat/.*} tempInt=${tempFloat/.*}
#echo "T -> ${tempFloat}/${tempInt}" #echo "T -> ${tempFloat}/${tempInt}"
if [ ${tempInt} -gt 6999 ]; then if [ ${tempInt} -gt ${tempFAIL} ]; then
((tempFAIL=tempFAIL+1)) ((tempFAIL=tempFAIL+1))
echo "--> Temp CRITICAL detected" >&2 echo "--> Temp CRITICAL detected" >&2
fi fi
if [ ${tempInt} -gt 6500 ]; then if [ ${tempInt} -gt ${tempWARN} ]; then
((tempWARN=tempWARN+1)) ((tempWARN=tempWARN+1))
echo "--> Temp WARN detected" >&2 echo "--> Temp WARN detected" >&2
fi fi
@ -93,6 +115,7 @@ for (( n=0; n<15; ++n )); do
done done
if [ ${#filenameForReport} -eq 0 ]; then if [ ${#filenameForReport} -eq 0 ]; then
echo "raspberryPi=${raspberryPi}"
echo "powerFAIL=${powerFAIL}" echo "powerFAIL=${powerFAIL}"
echo "powerWARN=${powerWARN}" echo "powerWARN=${powerWARN}"
echo "powerMIN='${powerMIN} microVolt'" echo "powerMIN='${powerMIN} microVolt'"
@ -100,7 +123,8 @@ if [ ${#filenameForReport} -eq 0 ]; then
echo "tempWARN=${tempWARN}" echo "tempWARN=${tempWARN}"
echo "tempMAX='${tempMAX} centiGrad'" echo "tempMAX='${tempMAX} centiGrad'"
else else
echo "powerFAIL=${powerFAIL}" >${filenameForReport} echo "raspberryPi=${raspberryPi}" >${filenameForReport}
echo "powerFAIL=${powerFAIL}" >>${filenameForReport}
echo "powerWARN=${powerWARN}" >>${filenameForReport} echo "powerWARN=${powerWARN}" >>${filenameForReport}
echo "powerMIN='${powerMIN} microVolt'" >>${filenameForReport} echo "powerMIN='${powerMIN} microVolt'" >>${filenameForReport}
echo "tempFAIL=${tempFAIL}" >>${filenameForReport} echo "tempFAIL=${tempFAIL}" >>${filenameForReport}

Loading…
Cancel
Save