There are a few settings in the config.txt file available to overclock the Raspberry Pi.
The Standard Settings should be 700MHz ARM CPU, 250MHz Core, 400Mhz SDRAM without overvolting.
The easiest and fastest way is too use the raspi-config tool to overclock your Board. There is an overclock section, where you can set the maximum frequency for the CPU.
If your board is supporting the highest Turbo Mode, there is a performance improvement up to 50% compared to the 700Mhz. This is not only the
300Mhz+ CPU Speed, but also the faster RAM+25% and Core+100%.
A good and reliable power supply is suggested when you try overclocking.
The raspi-config tool has 5 overclock presets. It is not guaranteed to work flawless. But it is improving. Try the modest or medium one for some weeks. If there are no problems you can take the next step. I have tested mine, with different Distributions and now it is running in Turbo (=highest) Mode without problems. Temperature in 24/7 mode stays at ~55°C in a Pibow case.
If you choose too high an overclock, your Pi may fail to boot, in which case holding down the shift key during boot up will disable the overclock for that boot, allowing you to select a lower level.
The Raspberry Pi enables dynamically overclocking and overvolting when the CPU is busy. !!!without affecting your warranty!!! If the BCM2835 is getting too hot (85°C) it limits the Turbo mode and the Raspberry Pi is running only in the normal mode. This should only happen, in really hot environments.
The config.txt file is stored on the first partition on the SD-Card. Your Raspi Linux System mounts the first partition to /boot , then config.txt is stored on /boot/config.txt. It is read by the GPU before the ARM Core is started. It is used to set system configuration parameters like, overscan, overclocking, display_modes, additional licenses for MPG-2/VC-1 codecs, …
Common Used parameters:
- arm_freq Frequency of ARM in MHz. Default 700
- core_freq Frequency of GPU processor core in MHz. It have an impact on ARM performance since it drives L2 cache. Default 250
- sdram_freq Frequency of SDRAM in MHz. Default 400
- over_voltage ARM/GPU core voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. force_turbo will allow values higher than 6. Default 0 (1.2V)
- force_turbo Disables dynamic cpufreq driver and minimum settings below. Enables h264/v3d/isp overclock options. Default 0
- initial_turbo Enables turbo mode from boot for the given value in seconds (up to 60) or until cpufreq sets a frequency. Can help with sdcard corruption if overclocked. Default 0
Detailed List is Here for more different Settings like arm_freq_min, core_freq_min or other settings to underclock, higher values or other tweaks.
Be carefull with overriding limits (current and temperature)!!!
You will loose your warranty for your device if you use following settings combined.
(force_turbo || current_limit_override || temp_limit>85) && over_voltage>0
Forcing the Turbo Mode together with OverVoltag will set the Sticky Bit.
Disabling the current limit together with overvoltage will set the Sticky Bit.
Increasing the Templimit over 85°C together with overvoltage will set the Sticky Bit.
The Sticky Bit is a bit which is only readable in the CPU and gets set when some dangerous settings are combined. If you send your Raspberry Pi back to your seller because it is broken, they can find out if you have used too dangerous overclock settings. Then there will be no refund.
You can check your sticky bit with
$ cat /proc/cpuinfo
In the line with revision there should be something like this, which shows which manufacturing revision you are holding in your hand.
Revision : 0002
If the sticky bit is set it looks like this:
Revision : 1000002
Checking Temperature and CPU Speed
If you want to know your CPU speed which is at the moment used, you can find out with following commands:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
pi@raspberrypi ~ $ cat /sys/class/thermal/thermal_zone0/temp
The speed is measured in KHz, and has to be divided by 1000 to get the MHz. The temperature has also to be divided by 1000, to get the temperature in °C, which is in this example 55°C.
To test if the Raspberry Pi is using the CPU_driver when needed open a second SSH shell and type in the first something which needs really much CPU power, like:
$ sudo apt-get update
In the other window check your speed a ten times.
pi@raspberrypi ~ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 1000000
It should sometimes show the overclocked speed when needed. Only if there is Load on the CPU.