Получение количества физических процессоров .NET Core 2.2 - PullRequest
0 голосов
/ 15 мая 2019

Я понимаю, что могу получить логическое число процессоров, ссылаясь на Environment.ProcessorCount, но есть ли способ получить количество физических процессоров / ядер на машине, используя .NET core 2.2? В .NET Framework я бы использовал что-то вроде следующего, но я знаю, что в ядре он недоступен из-за поддержки перекрестного доступа.

var physicalCPUs = 0;
List<string> sockets = new List<string>();
System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Processor");
System.Management.ManagementObjectCollection moc = mc.GetInstances();
// Iterate through logical processors
foreach (System.Management.ManagementObject mo in moc)
{
    string socketDesignation = mo.Properties["SocketDesignation"].Value.ToString();
    // We will count the unique SocketDesignations to find the number of physical CPUs in the system.
    if (!sockets.Contains(socketDesignation))
        sockets.Add(socketDesignation);
}
physicalCPUs = sockets.Count;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...