I found another thread on this subject from 2010, but it gave the appearance of having been resolved in 2010. So, it is unclear to me why I would still be seeing my CLR programs limited to using 32 logical processors on a Windows Server 2012 with 48 logical processors.
Forums/vstudio/en-US: "Maximum Number of Processor Cores in CLR"
I wrote the following dumb C# program to test whether my program written in C# actually had access to all 48 logical processors, since it appeared to be more restricted in processor use than when I was running the same processing using multiple processes.
}
Which produces the following Task Manager plots on our Windows Server 2012 with 2 x Intel Xeon processors with 24 cores and 48 logical processors.
<unfortunately, not allowed to include images>
It is pretty easy to see from the screenshot (not included) that only 32 out of 48 processors are in use by the program (at 100% utilization), resulting in around 75% processor utilization. The effect is the same with any number of threads greater than or equal to 32.
Is there any way that I can fix this program or the system on which it is running to make user of all 48 logical processors within a single process?