Script para medir el rendimiento de la Raspberry
Publicado: 10 Ago 2017, 23:45
He creado este script para probar el rendimiento de la CPU y la memoria de la PI. Para los que le hemos hecho un overclocking a la pi, también nos sirve para ver hasta donde sube de temperatura cuando se le da un poco de caña.
Usa como base el script de la distro AikonCWD que realiza alguna prueba más (disco duro y velocidad de internet), pero lo he centrado en el test de cpu y memoria. El script original de AikonCWD lo podeis descargar de aquí: rpi-benchmark.sh
El script instala el paquete sysbench y es necesario ejecutarlo como root (sudo sh test.sh). Además le podeis pasar como argumento el número de veces que quereis que haga cada test (ej: sudo sh test.sh 5 <-- hará cada test 5 veces).
El script:
Los resultados de las pruebas en mi PI3:
Con ajustes por defecto:
Con Overclock a 1,4Ghz
Os dejo el archivo como adjunto, espero que os sirva. Saludos.
Usa como base el script de la distro AikonCWD que realiza alguna prueba más (disco duro y velocidad de internet), pero lo he centrado en el test de cpu y memoria. El script original de AikonCWD lo podeis descargar de aquí: rpi-benchmark.sh
El script instala el paquete sysbench y es necesario ejecutarlo como root (sudo sh test.sh). Además le podeis pasar como argumento el número de veces que quereis que haga cada test (ej: sudo sh test.sh 5 <-- hará cada test 5 veces).
El script:
Código: Seleccionar todo
#!/bin/bash
# Script para realizar un test a la raspberry pi
# Basado en el script de AikonCwd podeis descargarlo de
# https://raw.githubusercontent.com/aikoncwd/rpi-benchmark/master/rpi-benchmark.sh
# Instalar sysbench
apt-get install -y sysbench
# Preparar numero de pases
if [ -z $1]
then
pasadas=1
else
pasadas=$1
fi
# Comienzo del test
clear
sync
echo "Raspberry Pi Test"
# Mostrar información del sistema
echo "Información del sistema:"
vcgencmd measure_temp
vcgencmd get_config int | grep arm_freq
vcgencmd get_config int | grep core_freq
vcgencmd get_config int | grep sdram_freq
vcgencmd get_config int | grep gpu_freq
printf "reloj sd="
grep "actual clock" /sys/kernel/debug/mmc0/ios 2>/dev/null | awk '{printf("%0.3f MHz", $3/1000000)}'
echo "\n"
echo "Ejecutando test de la CPU..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=cpu --cpu-max-prime=5000 run | grep 'total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\n"
echo "Ejecutando test de hilos..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=threads --thread-yields=4000 --thread-locks=6 run | grep 'total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\n"
echo "Ejecutando test de memoria..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=memory --memory-block-size=1K --memory-total-size=3G --memory-access-mode=seq run | grep 'Operations\|transferred\|total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\nFin del test"
exit 0
Con ajustes por defecto:
Código: Seleccionar todo
Raspberry Pi Test
Información del sistema:
temp=36.5'C
arm_freq=1200
core_freq=400
sdram_freq=450
gpu_freq=300
reloj sd=50.000 MHz
Ejecutando test de la CPU...
total time: 20.5710s
min: 6.96ms
avg: 8.22ms
max: 63.63ms
temp=45.6'C
Ejecutando test de hilos...
total time: 16.9866s
min: 4.53ms
avg: 6.79ms
max: 86.84ms
temp=47.8'C
Ejecutando test de memoria...
Operations performed: 3145728 (1857938.88 ops/sec)
3072.00 MB transferred (1814.39 MB/sec)
total time: 1.6931s
min: 0.00ms
avg: 0.00ms
max: 40.08ms
temp=48.3'C
Fin del test
Código: Seleccionar todo
Raspberry Pi Test
Información del sistema:
temp=35.4'C
arm_freq=1400
core_freq=500
sdram_freq=500
gpu_freq=400
reloj sd=50.000 MHz
Ejecutando test de la CPU...
total time: 15.9352s
min: 5.96ms
avg: 6.37ms
max: 47.09ms
temp=49.9'C
Ejecutando test de hilos...
total time: 11.9457s
min: 3.89ms
avg: 4.78ms
max: 51.65ms
temp=52.1'C
Ejecutando test de memoria...
Operations performed: 3145728 (2003880.47 ops/sec)
3072.00 MB transferred (1956.91 MB/sec)
total time: 1.5698s
min: 0.00ms
avg: 0.00ms
max: 19.37ms
temp=51.5'C
Fin del test