Raspberry Pi – Performance tuning
A Raspberry Pi Model B has the following characteristics: a CPU that is clocked with 700 MHz and 512 MB RAM which is shared between CPU and GPU. Default is, that the RAM is shared with 448 MB for the CPU and 64 MB for the GPU. This default setting is quite good, but for some reasons you can tune your Raspberry Pi to get more performance out of it.
You can configure this setting for CPU clocking and RAM management with the configuration file config.txt which can be found in your /boot directory. This file is good documented and can be used easily. All changes work after a reboot of the system. If you want change the settings with a GUI, you can use the raspi-config tool. With it you can also set these settings:
Option memory_split is your tool to configure the share of your RAM memory between CPU and GPU (the graphic card). For this you have to enter a number into a text field. You have to enter the number of MB that your GPU should use. What values are possible or useful? See this list:
With a minimal value of 16, your CPU can use 496 MB memory. This is a good option if you do not need your graphic card. For example if you do not use a display for your Pi and only use your Pi with SSH. A value of 32 MB is possible, but not that effective. If you use a bit more graphics power, you have to set the GPU RAM to 64 MB.
The default value is 64 MB.
128 or 256 MB RAM for your graphic card is useful if you have to render pictures with a high frame rate on HDMI. Here you should test your system. If 256 MB leads to a slow rendering, your CPU has too little memory, so 128 MB would be a far better value. If you system lacks RAM memory, it will start to put the data to your SD card and this is terrible slow!
A good start is to get an idea of what you want to do. For rendering graphics you need more memory for your GPU, for use cases without display (for example as web server), you should get more power with only 16 MB for GPU.
Here you can change the clocking of your CPU and SDRAM! Default is 700 MHz for ARM, 250 MHz Core and 400 MHz SDRAM. You can change this in steps to 1000 MHz ARM, 500 MHz Core and 600 MHz SDRAM. You should consider following points:
- you should use a current Version of Raspbian system (at least september 2012)
On older versions, the current temperature of the board was not measured so if your CPU runs too hot it damaged you Pi! Current versions always checks your board temperature and if it gets too hot (over 85° Celsius/185° Fahrenheit) then it shuts down to prevent damage.
You need more power if you want more performance! So if you overclock your CPU you should consider, that other peripherals (keyboard, mouse, USB-sticks) may does not work correctly anymore. The may get too less power!
- max. 50% more
The maximum you can get are 50% more performance of the system. With this you will see, that the graphical system runs much smoother and you have a better performance for browsing.
Remember: just think before you change something! You are responsible for damages to your Pi!