2013-04-24

Making BAT files to switch Full/Reduced processor speed Windows 7


Problem:
I have an old HP 530 Laptop. I upgraded its RAM to the max 2GB, and now it runs Windows 7 pretty smooth ! The thing that bothers me is the fan noise! In the usual things I do, I don't want the computer to be very fast, but I don't want to hear the fan noise. To do this I change the Power Options, the maximum CPU utilization.

It is in:
Control Panel
Power Options
on the selected Balanced - choose "Change plan settings"
Change advanced power settings
Processor power management
Maximum processor state



I put there 50%, and it is just fine for cooling the system.
(You can also adjust "System cooling policy" if you like)

On the other hand, when I watch 720p or more videos, I need full CPU speed, and I don't care about the fan! I need to go again through all these settings.


Solution:
I decided to make 2 .BAT files on my desktop to switch easier between the two modes

FULL.BAT
powercfg -setacvalueindex SCHEME_BALANCED SUB_PROCESSOR PROCTHROTTLEMAX 100
powercfg.exe -setactive SCHEME_CURRENT

COOL.BAT
powercfg -setacvalueindex SCHEME_BALANCED SUB_PROCESSOR PROCTHROTTLEMAX 50
powercfg.exe -setactive SCHEME_CURRENT

Now I just click on them when I need speed or quiet fan. You can put other percentages instead of 50 and 100.



Another way for achieving this task is to make 2 power profiles and switch between them.

Resources used:
http://stackoverflow.com/questions/2503579/modifying-procthrottlemax-with-powercfg-has-no-effect-in-2008-r2

-=update 31.12.2015=-
Thanks for the comments people! Really happy!
As I mentioned below now I have 3 files - Cool, Mid, Full :) Anyway don't forget to clean, vacuum clean your laptop ventilation holes.
 
Another trick to help you do the BAT files is to make a file LOOP.bat with a single line - loop (only these 4 letters). When you start the file it will utilize your CPU as much as possible.
Then you can experiment with other bat files, shown above, start from 100 and reduce the number until you see your frequency dropped. Then you know, where exactly to stop.

When I have time I can try to make an automatic BAT file that does that, if possible, it will be awesome!

Some more info - I upgraded my laptop HP 530 to 3GB - it is working fine with them, although not all brands are OK. According to the specs it should work with up to 2GB only. To tell you the truth, now it is much much more responsive. (I even use 16GB flash drive for ready boost, but increasing the RAM helped much more than that flash drive).


-=update 16.09.2014=-
Using the windows gadget "All cpu meter" I saw that my cpu has 3 frequencies:
1000Mhz
1200Mhz
1600Mhz

Since I made COOL.bat for 50% CPU usage, I thought - isn't it possible to make it more than 50% and still be at 1000Mhz and cool. For my CPU the limit is 78%, every number above that switches to 1200Mhz when working.
But it is OK - now I am faster and still cool!!

Cheers!!!