Возможно функция считает только физические ядра, а не логические.
Под рукой оказался двухпроцессорник на E5-2687W v4 (12 физических ядер на проц) с выключенным HT.
Вот этот код на .Net 8 под Linux определяет все 24 ядра:
namespace CPU_Counter
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine($"The number of processors on this computer is {Environment.ProcessorCount.ToString()}.");
}
}
}
При чем я
ничего подобного не правил. Дефолтный консольный проект .Net 8.