Now since the ARM Overclocking Competition is over I want to show my tweaks here. To try them out make sure to set up your RPi with newest JAVA8 like Massman explained in his RPi Overclocking guide. Please do not start the GUI with startx.
The first tweak will be to turn off everything which is not necessary (like sound and network if you don't want to watch youtube). Type
$ ps -ef
to see which processes are running.
Now type the following to enter runlevel 1:
$ sudo init 1
The Linux OS is now in single user mode and only processes which are necessary to keep the OS running are running.
$ ps -ef
Next, start the Benchmark and use the second tweak. I changed process priority to use the processor more efficiently. This can be done with the command "nice".
$ nice -n 19 java -jar hwbotprime.jar
You can adjust the priority with the parameter -n. Values range is from -20 (most favorable to the process) to 19 (least favorable to the process). To get more information read the manual page of nice with the command "man nice". It's strange to me that the score is higher with a lower priority, but I think this is because the linux OS and the java runtime environment are running faster then and the benchmark doesn't have to wait for them.
The score I get after the bechmark is somtimes very different. I get results under 720PPS but for example after seven runs suddenly I have a score around 730PPS once. My third tweak was a short shell script, which runs the benchmark in a loop and saves every score. I can choose the highest score in the end.
Save this code in a new file named bench.sh.
for (( c=1; ; c++ ))
echo $c > keys
echo "q" >> keys
nice -n 19 java -jar /home/pi/hwbotprime.jar < keys > log.txt 2>&1
Make the script executable
$ chmod +x bench.sh
and execute it.
After you stopped that script with CTRL-C you can analyse your score with the following command.
$ cat log.txt | grep "Score:" | grep -n "Score:"
The numbers in front of the lines represent the file for that benchmark run. So "3:Score: 716.65" is file 3.hwbot.
I found other tweaks in the Internet but they don't boost my RPi very much.
http://magikh0e.ihtb.org/pubPapers/Raspberry.Pi.Hacking.pdf page 4 - 10
Of course I also overclocked my RPi. Here are my settings in the config.txt:
over_voltage_sdram and over_voltage are limited to 8 as you might know.
But core_freq is also limited. http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=52422&p=410136#p410136
You can try that by setting core_freq to 600 and measure the clock with the command
$ vcgencmd measure_clock core
Then set core_freq to 601 and type the command again. You will get a clock of 500 not 601 !
BTW, with the vcgencmd command you can do complete monitoring of your Pi. More here: http://elinux.org/RPi_vcgencmd_usage
Here is a script for monitor the RPi:
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
for id in core sdram_c sdram_i sdram_p ; do \
echo -e "$id:\t$(vcgencmd measure_volts $id)" ; \
echo -e "temperature:\t$(vcgencmd measure_temp)"
for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do \
echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; \
echo "config.txt Settings:"
vcgencmd get_config int
echo "Memory split:"
vcgencmd get_mem arm
vcgencmd get_mem gpu
What about EPower? I saw that hardware mod with L5 Inductor.