Last active
September 27, 2019 11:40
-
-
Save dlech/e922dbdc870d0e1d2c6065363c189345 to your computer and use it in GitHub Desktop.
Raspberry Pi Dramble benchmark for ev3dev
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Raspberry Pi microSD card benchmark script. | |
# | |
# A script I use to automate the running and reporting of benchmarks I compile | |
# for: http://www.pidramble.com/wiki/benchmarks/microsd-cards | |
# | |
# Usage: | |
# $ wget https://gist.githubusercontent.com/dlech/e922dbdc870d0e1d2c6065363c189345/raw/microsd-benchmarks.sh | |
# $ sudo bash microsd-benchmarks.sh | |
# | |
# Another good benchmark: | |
# $ curl http://www.nmacleod.com/public/sdbench.sh | sudo bash | |
# | |
# Author: Jeff Geerling, 2016 | |
printf "\n" | |
printf "Raspberry Pi Dramble microSD benchmarks\n" | |
CLOCK="$(grep "actual clock" /sys/kernel/debug/mmc0/ios 2>/dev/null | awk '{printf("%0.3f MHz", $3/1000000)}')" | |
if [ -n "$CLOCK" ]; then | |
echo "microSD clock: $CLOCK" | |
fi | |
printf "\n" | |
# Fail if $SUDO_USER is empty. | |
if [ -z "$SUDO_USER" ]; then | |
printf "This script must be run with sudo.\n" | |
exit 1; | |
fi | |
# Variables. | |
USER_HOME_PATH=$(getent passwd $SUDO_USER | cut -d: -f6) | |
# Install dependencies. | |
if [ ! `which hdparm` ]; then | |
printf "Installing deps...\n" | |
apt-get update | |
apt-get install -y hdparm iozone3 | |
printf "Install complete!\n\n" | |
fi | |
# Run benchmarks. | |
printf "Running hdparm test...\n" | |
hdparm -t /dev/mmcblk0 | |
printf "\n" | |
printf "Running dd test...\n\n" | |
dd if=/dev/zero of=${USER_HOME_PATH}/test bs=8k count=50k conv=fsync; rm -f ${USER_HOME_PATH}/test | |
printf "\n" | |
printf "Running iozone test...\n" | |
iozone -e -I -a -s 100M -r 4k -i 0 -i 1 -i 2 | |
printf "\n" | |
printf "microSD card benchmark complete!\n\n" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment