Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 多核进程机器上奇怪的负载平衡_.net_Load Balancing_Multicore - Fatal编程技术网

.net 多核进程机器上奇怪的负载平衡

.net 多核进程机器上奇怪的负载平衡,.net,load-balancing,multicore,.net,Load Balancing,Multicore,我正在分析一些.net桌面应用程序。我发现了以下代码: if (System.Environment.ProcessorCount > 1) { Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High; Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(2); } else { Process.GetCurrentP

我正在分析一些.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处理器的机器上启动了此应用程序:

正如我们可以看到的,应用程序只加载第二个核心see代码,但同时我不能在我的计算机上做任何事情,即使有3个核心处于空闲状态

发生了什么事?? 使用特定的核心运行应用程序有意义吗

增加


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

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

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

我不知道您观察到的问题。但一般来说,计算密集型线程/程序应该以正常或较低的优先级运行,而不能以较高的优先级运行。高优先级是指那些需要定期/低延迟运行的便宜的东西。你的程序在做什么?访问任何内存、磁盘或其他IO?处理器/内核不是唯一的共享资源。除非由于其他应用程序要求太高而绝对必要,否则不建议使用“更高”的优先级。在不增加优先级的情况下重试;你的系统应该更灵敏。如果没有,其他东西正在占用您的资源。@CodeInChaos还有其他应用程序2可以占用剩余的处理器时间。它具有高优先级,我无法更改它的设置。所以这个应用程序1应该与那个应用程序竞争。我不知道您观察到的问题。但一般来说,计算密集型线程/程序应该以正常或较低的优先级运行,而不能以较高的优先级运行。高优先级是指那些需要定期/低延迟运行的便宜的东西。你的程序在做什么?访问任何内存、磁盘或其他IO?处理器/内核不是唯一的共享资源。除非由于其他应用程序要求太高而绝对必要,否则不建议使用“更高”的优先级。在不增加优先级的情况下重试;你的系统应该更灵敏。如果没有,其他东西正在占用您的资源。@CodeInChaos还有其他应用程序2可以占用剩余的处理器时间。它具有高优先级,我无法更改它的设置。所以这个应用程序1应该和那个应用程序竞争。是的,应用程序有主窗口。这是一个富UI的网格客户端,多线程任务…是的,应用程序有主窗口。它是一个富UI的网格客户端,多线程任务。。。