0

Я использую Windows Server 2012 на машине с 2 процессорами - 12 ядер каждый, всего 24 ядра. Когда я смотрю в диспетчере задач, я вижу 24 ядра. также, когда я запустить команду cpu get numberofcores,numberoflogicalprocessors /format:list на WMIC я получаю:только половина логических ядер работает на сервере Windows 2012

NumberOfCores = 12 NumberOfLogicalProcessors = 12

NumberOfCores = 12 NumberOfLogicalProcessors = 12

однако, в переменные среды я получаю: NUMBER_OF_PROCESSORS = 12 и когда я запускаю в CMD: echo %NUMBER_OF_PROCESSORS% i get 12 также ..

, что означает, что я получаю только половину доступных процессоров.

идеи, как его решить?

+0

Вы используете 32 или 64 бит? – jgr208

+0

Я запускаю 64-битную машину – IdoS

+0

ok. hmmm one думаю, я могу думать о возможно, это только перечисление количества ядер на одном процессоре, а не оба, так как у каждого из них 12, и вы получаете 12. – jgr208

ответ

0

У нас была точно такая же проблема до сих пор, но когда я изменил параметр BIOS «Node Interleaving» от Disabled to Enabled - WOW! 7z/winrar теперь видят все и используют все ядра (логические процессоры) и переменную ENV «количество процессоров» составляет 24 сейчас! Но это работает. Другой способ - если вы используете платформу HP DL3 * 0 G9 - есть другое решение - вы должны изменить настройку: «Оптимизация размера группы NUMA» с [Кластеризация - по умолчанию] на [Плоский]. У меня есть это решение от другого thread at SO. Это тоже помогло, и я думаю, что это правильное решение.

+0

wow, это было давно ... я решил это тогда, написав DLL-файл, который проверяет количество логических ядер и импортирует его с помощью JNI – IdoS

Смежные вопросы