How do I increase CPU priority on dual core Vista machine?

Hi,

I have an engineering analysis program that uses lots of CPU time (runs last hours or days) on a desktop Vista PC with a dual core processor.  

Task Manager shows that the process uses about 50% CPU on each of the two processors.  Figuring I could get my runs done faster, I increased the priority by right clicking the process and increasing the CPU priority.  But that only bumped one processor up to near 100% and the other down to nearly 0%.

Is Vista is really keeping 50% for itself, or as padding?  Is there any other way to jack up the priority for when I leave the machine running overnight?  Is this perhaps a limitation of the compiler (I didn't compile it)?

Thanks,
Brandon
hrufescensAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

steveoskhCommented:
Does the program support multiple CPU's.  The program may also be throttling itself to prevent using all the resources and making the PC useless while it runs.   Tech support for the software should know exactly what tuning steps or changes (faster drives, more ram) you could make to speed up the program.
0
hrufescensAuthor Commented:
Not sure- I don't have access to the development team.  

I'd be fine making the PC useless for other tasks if I could double my throughput.  But I'm happy to know that the good folks at Microsoft are looking out for me!  ;-)

This program is not a big consumer of ram, disk space, etc.- just pretty much all CPU.

Thanks
0
SemperWiFiCommented:
Since the application was previously using both CPUs you can assume it is indeed a multi-threaded package. However, when you changed the settings for priority you relegated process to a single string. You will need to set affinity as well to insure the package is using all available resources. Additionally, if you are looking to tweak this system for this particular process then you will want to A. Disable all unneeded system service and B. set all other process to minimum priority.

The services tweak can be made permanent simply by setting them to either disabled or manual activation. CPU priority and affinity settings will typically have to be done upon every reboot and/or restart of the application (process) itself. You can set affinity automatically if you wish to set that up as well.

Article on unneeded Vista services containing list: http://www.mydigitallife.info/2007/04/06/optimize-vista-by-disabling-unused-unneeded-or-unnecessary-windows-services/

Article on setting affinity: http://www.addictivetips.com/windows-tips/how-to-set-processor-affinity-to-an-application-in-windows/

Automatically set Processor Affinity in Windows XP Professional (should work w/Vista): http://articles.techrepublic.com.com/5100-10878_11-6168870.html
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

hrufescensAuthor Commented:
Thanks for your responses SemperWiFi and joensw.  I've tried these, and Vista keeps me from getting any more than 50% CPU attention on my process (either 50/50 or 100/0- still adds up to 50%).

Affinity is set to allow process to run on either of the two CPUs.

Tom's Hardware utility looks interesting, but is no longer available (link down).

Anybody else know a workaround for granting a process more than 50% overall CPU load?

Thanks,
Brandon
0
SemperWiFiCommented:
If what you say is the case (and I don't doubt you) then you are staring down the barrel of a software specific limitation. You can still optimize the machine for performing this process but there is not going to be a way for you to get 100% CPU utilization out of this application. It's not coded to allow this to happen.

It will be better off using a bit of two then all of one by the way. So you certainly won't want to set it to using 100% of one core and 0% of the other.
0
steveoskhCommented:
Have you contacted the company?   Is the version you have the latest one and fully patched?
They may have a patch or newer version that better supports dual core.
0
hrufescensAuthor Commented:
No steveoskh- the version I'm using was compiled in 2003. For a number of reasons, I need to figure out if this is an issue on my machine before going the upgrade route.

Does anybody have experience with another CPU-intensive application that does/does not behave like this?

Thanks,
Brandon
0
steveoskhCommented:
I have had similar experience with applications that were not optimized for multi core procs.
0
SemperWiFiCommented:
I have experience with many many multi/single resource intensive applications as it pertains to thier usage of system resources. I know your desperately hoping that someone else will come in behind me here and give you an answer you prefer but this is not going to happen. It is not about if it can be done or not as a general statement. It is about if it can be done or not with your application.

Based on the information and findings provided in this thread it is undoubtedly the case that the purposed actions are not supported. If the version you are using is from 03 then I can promise you the coding is not adequate to achieve the goals you have expressed. You will need to contact the application vendor and find out if this area of their coding has been updated (many small vendors still do not have full multithreaded support) so even an upgrade to the most resent version may not change your current performance limitation parameters.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
hrufescensAuthor Commented:
I'm still in denial, but SemperWiFi's probably right. Despite the cose running on two processors, there must be something about the compiled code that won't get along with Vista's CPU management.

It it were a commercial code, I'd just bug the supplier, but it's a national lab developed code. I'd have to recompile it myself- which isn;t happening any time soon.

Thanks all-
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Components

From novice to tech pro — start learning today.