Sulla mia macchina, Windows 7 - Enterprise con 1 x Intel Xeon E5-1660 0 @ 3.30Ghz (6 core/CPU con Hyper Threading attivato), Environment.ProcessorCount restituisce 12 che è esatto.C# Environment.ProcessorCount non restituisce sempre il numero completo di Processore logico, perché?
Su Windows Server 2012 con 2 x Intel Xeon E5-2697 v3 @ 2,60 GHz (14 core/CPU con Hyper Threading attivato (penso perché Task Manager mostra: 2 socket, 28 core, 56 processori logici)), Environment.ProcessorCount restituisce 28 che ci sembra sbagliato perché 2x14x2 = 56.
Perché su Windows Server 2012 C# metodo Environment.ProcessorCount non restituisce il numero corretto di processori logici?
informazioni supplementari, le variabili di ambiente sono i seguenti: NUMBER_OF_PROCESSORS = 28
Aggiornamento 2015/05/26:
There is a Più dettagli/motivi di questo correlate bug nella mia altra domanda: Unable to use more than one processor group for my threads in a C# app. Principalmente penso che C# usi solo un gruppo di processori. La cosa interessante era che sul nostro server c'erano 2 gruppi di processori, sebbene ci fossero solo 56 processori logici. Ma questo HP CUSTOMER ADVISORY spiega perché la nostra configurazione del BIOS del server stava inducendo finestre in errore.
Sono sorpreso che 'Environment.PermissionAccess' ti dà tutte le informazioni sulla CPU :-) I non riesco nemmeno a trovarlo documentato. –
Spiacente, ho modificato il titolo della mia domanda ... Ho usato il nome del metodo sbagliato. Mi dispiace. Grazie per le informazioni. –