Required. you must have an oc and voltage support kernel. jfbs stock roms have both oc and voltage. cars1189 stock rom does not but he provides link to kernels that do. Dont use exuv or uv kernels while doing this. well you can but if your new to this it is recommended to use regular oc kernel without uv/exuv. Also ram size does not matter.
What else do you need:
an app that allows you to change clock speed and voltages. if you dont already have one get performance control here (i use this thanks to jfbs for finding it).
*NOTE* never ever leave phone unintended when doing this until you find your chips sweet spot. YOU HAVE BEEN WARNED. otherwise if you listen and follow my advice you wont cause any major harm to your phone or any harm to your phone. Also do NOT have the settings apply at boot until you find all your settings. keep a pen or pencil and paper ready so you can remember workings settings.
1. remove case (if you have one on your phone) and battery cover. (this is just a safety precaution should your power button not work to pull that battery.
2. open up your overclocking app. (in my case performance control). set min and max frequency/speed to 245mhz
3. go to voltage settings and change the current voltage for 245760khz (really 245mhz) which is stock 900mV to 875mV (decrease by 0.25). close app out swipe around home screen and apps draw. open and close contacts list and see if phone freezes. we are not worried about phone running slow at this point until you reach 1ghz+ point of this. IF phone freezes/locks up hold power button to reboot phone or just pull battery and put it back in (personally i just use power button). if phone doesnt not freeze lower voltage again by 0.025 which should be 850mV. continue this process until phone DOES freeze so make sure you you wrote down last working voltage and as soon as phone freezes reboot or pull battery.
4. Once you found the lowest working voltage for 245mhz up the min and max frequency (speed) to 368mhz (368640khz)
5. Do the same thing as step 3 which is decrease the voltage by 0.025mV for the frequency for 365mhz. and repeat for each frequency up to 1ghz. Once you get to doing 1ghz voltage and above. The testing phone phase will be different but still flow the decrease by 0.025mV. for testing use any 3d game not candy crush type. and let it run for at least 10mins actually playing with phone plugged into charger. when you reach the spot where the phone freezes unplug both charger and force reboot/pull battery.
6. Once you find all of your working voltages for each frequency then you can set min back to 245mhz and your max to which ever you was able to hit. then set all of your volt settings in and save it for set on boot.
Note. 1.2ghz-1.4ghz seems to be a very good and safe battery to performance ratio. even more so if you followed my directions properly.
My settings for comparison.
Frequency Range: min.256mhz max 1401mhz(1.4Ghz)
122880KHZ - 700mV
245760KHZ - 700mV
368640KHZ - 700mV
768000KHZ - 925mV
806400KHZ - 950mV
902400KHZ - 975mV
1017600KHZ - 1000mV
1113600KHZ - 1050mV
1209600KHZ - 1100mV
1305600KHZ - 1150mV
1401600KHZ - 1200mV