Назад | Перейти на главную страницу

квота процессора windows server 2012

Я написал многопоточную программу, работающую на Windows Server 2012.
Программа будет создавать потоки, чтобы использовать преимущества нескольких процессоров, и я могу контролировать количество одновременных потоков, которые она создаст. Каждый поток обычно использует 100% ЦП в течение нескольких минут (это очень интенсивное вычисление ЦП, и операции ввода-вывода не выполняются). За время существования процесса он создаст и уничтожит ~ 1000 потоков.

Диспетчер задач сообщает, что на сервере 10 ядер и 20 логических процессоров. Я пробовал много настроек для количества одновременных потоков, но загрузка ЦП, показанная в диспетчере задач, никогда не превышает ~ 30%. Когда я смотрю на каждый поток, ни один из них не использует более ~ 3% общего ЦП - тогда как они должны использовать 100%.

Еще одно замечание: если я запустил два из этих процессов одновременно, каждый из них будет использовать ~ 30% доступного процессора.

Я запустил ту же программу на своем 4-ядерном ноутбуке с Windows 10, и у меня нет проблем с ее использованием всего процессора.

Может ли кто-нибудь увидеть причину, по которой Windows Server 2012 ограничивает мой процесс ~ 30% от общего доступного ЦП?