Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am using an old laptop and doing heavy processing that needs high CPU usage for a long time (~30mins - 2hours). When the process puts heavy load on CPU for a long time, CPU overheats and computer shuts down. I don't want to use a cooler/stand because I am carrying this laptop around and working outside home.

Is there a way/application that I can limit CPU usage of a process in Windows?

Note: Setting the priority of the process from task manager does not work.

Note 2: Fans are clean.

share|improve this question
2  
Is renting out 3 hours of CPU time on EC2 not feasible? I would imagine that would work a lot better for most cases. –  digitxp Nov 24 '10 at 12:55
    
can you specify which Windows version, and which old laptop? If there's a dual core inside, you can just specify the application to run on only one core, which keeps it at 50% and hence cooler temps. –  Joris Meys Nov 24 '10 at 13:07
3  
@digitxp: I am PhD student at the moment, if it was for business purposes, I would have bought a new laptop or used a powerful desktop machine anyway :) –  nimcap Nov 24 '10 at 13:28

5 Answers 5

up vote 31 down vote accepted

A search over the net brings some programs that may help. They are all freeware.

BES - Battle Encoder Shirase

BES is a small tool which limits the CPU usage for a specified process: for instance, you can limit the CPU usage of a process which would use CPU 100%, down to 50% (or any percentage you like). With this, you can use other programs comfortably while doing something CPU-intensive in the background. By limiting the CPU load, you can also cool down your CPU immediately when it happens to get too hot. Of course the processing speed will slow down proportionally if you limit the CPU usage, but it should be much better than crashing because of heat or (in the worst scenario) having your computer broken with a burned CPU.

Process Tamer

Process Tamer is a tiny (140k) and super efficient utility for Microsoft Windows XP/2K/NT/Vista/Win7 that runs in your system tray and constantly monitors the cpu usage of other processes. When it sees a process that is overloading your cpu, it reduces the priority of that process temporarily, until its cpu usage returns to a reasonable level.

Process Lasso

Process Lasso is a unique new technology that will improve your PC's responsiveness and stability during periods of high CPU load. Windows, by design, allows programs to monopolize your CPU without restraint -- leading to freezes, hangs, and micro-lags. Process Lasso's ProBalance (Process Balance) technology intelligently adjusts the priorities of running programs so that badly behaved processes won't negatively impact the responsiveness of your PC.

share|improve this answer
4  
of the three BES looks like the best bet. the other two use priority values which didn't work according to the question –  hbdgaf Nov 24 '10 at 13:16
1  
BES is my choice. It is lightweight and does what it us supposed to do. –  nimcap Nov 24 '10 at 14:15
1  
BES is unable to limit Windows Live Mesh (MOE.exe); it continues to use 95% regardless of any settings. The others can't possibly help because it's already set to Idle priority. Makes the whole OS very slow anyway. –  romkyns Jul 7 '12 at 12:58
    
Right. The BES is the unique performing a % cpu limiter. Why is on the 3rd position?? :( –  erm3nda Nov 21 '13 at 8:05
    
From BES web page: "yes, BES is a tool that periodically makes the target sleep for a very short time". –  mtone Apr 28 at 23:55

Sorry for the late addition, but I wanted to add the application that i've used in the past to successfully limit the CPU utilization. I've used threadmaster several times in the past.

http://threadmaster.tripod.com/

share|improve this answer

Instead of downloading a program to do that, if you go to task manager and go to details you will see a list of the processes you are running. If you right click and use the "set affinity" option instead of "set priority" you can select how many cores are being used by an individual program hence limiting the amount a CPU usage by the program.

share|improve this answer

These days, the best solution is to limit per-process CPU use by limiting the CPU affinity (cores the process has access to). You have less precision (can only limit to certain percentages), but this is a more natural operation than trying to periodically suspend and resume process threads. Process Lasso does a fine job with default (persistent) CPU affinities. However, it also has 'hard' BES style limitation, though that's not recommended since it's such an unnatural act.

share|improve this answer

Sure this is an old question but I'm surprised nobody has suggested this yet:

Reduce your CPU speed.

Practically all laptops and Windows itself have built in mechanisms for dynamically adjusting processor speed to match load. You can override this behaviour - for example in Control Panel => Power Options => Advanced, you can set a maximum processor speed that's below 100%. Your processor will then be limited to a lower speed, and thus generate less heat, nomatter what you're doing.

This requires no additional software and more importantly, reducing your CPU speed makes your processor more efficient, so is a better solution than limiting your CPU usage in Windows. Using 50% of a processor at 2.0Ghz will use considerably more power than 100% of a processor at 1.0Ghz. Less power = less heat.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.