多核过程机器上的奇怪负载平衡

时间:2011-03-18 13:35:15

标签: .net load-balancing multicore

我正在分析一些.net桌面应用程序。我找到了代码:

if (System.Environment.ProcessorCount > 1)
{
    Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
    Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(2);
}
else
{
    Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal;
}

Process.GetCurrentProcess().PriorityBoostEnabled = true;

我在具有多核(4)处理器的机器上启动了此应用程序: enter image description here

我们可以看到应用程序仅加载第二个核心(请参阅代码),但同时我在计算机上无法执行任何操作,即使3个核心处于空闲状态。

什么是ha ?? 使用特定核心运行应用程序是否有意义?

ADDED

还有其他应用程序(2)可以保留其余的处理器时间。它具有高优先级,我无法改变它的设置。所以这个应用程序应该与那个应用程序竞争。

1 个答案:

答案 0 :(得分:0)

您的应用程序是否有主窗口?它在前景吗?如果是的话,难怪PriorityBoostEnabled=true将使您的应用程序的优先级更高。