Windows

Automatically set Processor Affinity in Windows XP Professional

Is two better than one? Not necessarily, if your dual-core processor runs at less-than-effective efficiency with older programs. Here's how to optimize your processor settings to allow Windows XP Professional to run more smoothly by switching to just one core when running certain applications.

If you have a dual-core processor, you may discover that certain older applications that ran fine on systems with a single core CPU have problems running with two cores. For example, your application may suddenly begin maxing out the CPU usage at 100 percent, appearing to lock up. Windows XP Professional's Processor Affinity setting allows you to work around such problems by configuring older applications to use only one of the cores. Here's how to set it up:

  1. Access Task Manager.
  2. Choose the Processes tab.
  3. Right-click the process associated with the problem application.
  4. Select the Set Affinity command. (If you don't have a dual-core system, you won't see the Set Affinity command.)
  5. From the Processor Affinity dialog box, clear one of the CPU check boxes.

You could perform this manual operation every time you run the application, but the THG Task Assignment Manager (available for download from Tom's Hardware) allows you to create profiles that automatically assign applications to a specific CPU every time you run them.

Note: This tip applies only to Windows XP Professional.

Miss a tip?

Check out the Windows XP archive, and catch up on our most recent Windows XP tips.

Stay on top of the latest XP tips and tricks with our free Windows XP newsletter, delivered each Thursday. Automatically sign up today!

About

Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.

17 comments
imtiyazmuc
imtiyazmuc

Hi I am getting Blue Screen Error when i am working and the system suddenly crashes with blue screen I am getting BSOD even i change Affinty of the applications. Will the Affinity changes help me to resolve this BSOD issue?? Imtiyaz

s_dixit
s_dixit

This is good enough to increase the speed at system level work. But my question is "Does this support over the internet on shared network?

barth.travis
barth.travis

Can this be done as part of launching the program? One of my old games, Medal of Honor: Allied Assault, won't even start without crashing. Can I set it to only use 1 CPU before I launch it?

riggy001
riggy001

The option is selectable in WinXP Home SP2 as well -- Don't know about THG Task Assignment Manager though.

cbeckers
cbeckers

I use two old (single processor) programs: the HP Printer Monitor (which loads in background and periodically checks my networked HP printer) and Microsoft Train Simulator (which runs full screen) on a dual core machine. When the HP program kicks in, it causes Train Sim to minimize to the Task Bar (my train is still charging down the tracks, but the engineer has suddenly gone blind!). Will switching these two programs to separate cores resolve this issue?

bobprickett
bobprickett

I have a 4-camera video surveillance system that runs perfectly 24/7 in XP Pro. Most applications share nicely, but anything on the net [email, IE, FF] will cause the video to lock up. Completely! Often have to reboot. The vendor says this is common with dual core as it 'switches around', and either live with it or go to single core. I will be trying this out as a possible solution!

Smart_Neuron
Smart_Neuron

Interesting article! I am using a Core 2 Duo box and would like to know if it is possible to have XP (and Vista) automatically load-balance the services and other running programs to achieve maximum performance. I have to wait up to 3 minutes upon initial lolgin to XP (SP2) before the Hard Drive settles down. With 2 GB RAM and 280 GB free on the hard drive, something is up, but I cannot easily determine. Unless I spent a day - NOT! Any ideas :0)

chadguidry
chadguidry

I don't know if it is a problem with the Hyper thread processors,but it has a affinity setting in XP.And,It also has the same settings in Windows Vista Ultimate.

honeycutt
honeycutt

I've had very good luck with this program - http://www.beyondlogic.org/solutions/processutil/processutil.htm I created a startup batch file that used this program to assign affinity and priority to a variety of programs that normally load when the PC boots. On my Core2Duo, I noticed a significant boost in speed when I assigned less important tasks to the second processor and in some cases, lowered the program's priority. Mike Honeycutt

igtddave
igtddave

Seems to work in Windows 2000 Pro as well.

wim.eising.spam
wim.eising.spam

I don't know which programme messes up my Acer Core-Duo CPU (TM5612WSMi, 2x1.66GHz, 1MB memory, 120 GB HDD) laptop, but it takes about 6 minutes for the computer to start up to a phase where I can launch e.g. Outlook. VERY slow. After a reset to Factory Defaults (= full reformat) the laptop is very fast, but after installing all my required programmes it has slowed down to unacceptable levels. The Performance tab in Task Manager shows a very active 1st CPU but a very INactive 2nd CPU. Help? Ideas? Wim

webrambler
webrambler

Many applications by default set a monitoring service or dashboard app to run at startup. In most cases, these app's and services do not need to run constantly, and most can be started manually from the programs menu as needed. Common offenders are video and sound dashboards, Adobe and MS Office applications, and other multimedia applications. Open msconfig by clicking Start - Run and key in MSCONFIG. Click the "Startup" tab and uncheck any unecessary startup applications. You can also click the "Services" tab, and check the "Hide all Microsoft Services" box to determine any suspicious or unecessary services that may be running at startup (such as spyware, etc.). After disabling unecessary startups/services, reboot and test your system functionality. Make sure all your devices and peripherals are functioning properly. If you experience any operational errors, you may have to re-enable the related service or startup. I have over 20 startup app's listed in MSCONFIG, but I only have four enabled. My login to system idle time is < 1 minute, and I have < 30 processes running at idle. If I had all startups enabled, my login to idle would be much greater, and I would likely have 40 + running processes.

akosiabraham
akosiabraham

You must see first the system requirements of your program, to ensure what capacity of memory you needed.Please check your memory.

vinod1911-atwork
vinod1911-atwork

Check whether any program is updating the Bios Drivers as this may couse the OS to think of the system as a single core machine.

Greg Shultz
Greg Shultz

Use Task Assignment Manager to assign specific processes to specific cores and see if you can balance the load.

wim.eising.spam
wim.eising.spam

I found the culprit: see http://forum.sysinternals.com/forum_posts.asp?TID=965&PN=1 All about DMS at HDD " High interrupt rates on I/O are often associated with the transfer mode for an IDE device having reverted from DMA to PIO. Pre-SP2 versions of XP in particular were rather sensitive to errors and would flip to PIO mode. They needed to be reset to "DMA if available" in Device Manager, usually by uninstalling the IDE driver and letting Windows reinstall. "

Editor's Picks