IE を起動し、アフィニティを特定の単一の CPU に設定する必要があります。次の c# コードを実行すると、予想どおり notepad.exe が開始され、そのアフィニティが cpu2 に設定されますが、奇妙に iexplore.exe がそのアフィニティが cpu0 に設定されて開始されます。ProcessorAffinity を iexplore.exe に設定しても、常に cpu0 になります。
これを 4 コア xp 32 ビットおよび 4 コア 2008 64 ビット (どちらも IE8) でテストしました。
using System;
using System.Diagnostics;
public class Launch
{
public static void Main(string[] args)
{
lauchWithAffinity("c:/windows/system32/notepad.exe");
lauchWithAffinity("c:/Program Files/Internet Explorer/IEXPLORE.EXE");
}
static void lauchWithAffinity(string exePath)
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = exePath;
Process myProcess =Process.Start(start);
myProcess.ProcessorAffinity = (System.IntPtr)4; //3rd cpu aka cpu2
//http://msdn.microsoft.com/en-us/library/system.diagnostics.process.processoraffinity.aspx
}
}