Доброго времени суток. Полазил по инету, и наткнулся на эту статью. Как-нибудь можно программно это у себя реализовать, чтобы не потребовалось участие cmd.exe? Спасибо за внимание
если из вашего приложения то SetProcessAffinityMask и GetProcessAffinityMask или так http://msdn.microsoft.com/en-us/library/dd405503(v=VS.85).aspx
Благодарю, SetProcessAffinityMask то что надо, но теперь проблема другого характера. Не расприделяется равномерно между двумья ядрами. Указываю 3 во втором параметре, всё равно вся нагрузка на первое ядро. Хотя в диспетчере задач когда запускаешь по дефолту показывает что на двух ядрах работает, если снять галочки и обратно поставить то тогда действительно уже на двух ядрах распределится. Странно. Т.е. проще говоря по дефолту без каких-либо юзаний SetProcessAffinityMask, тоже не равномерно распроделяется, пока в диспетчере не пере-задашь.
странно, диспетчер задач например, как я помню просто открывает процесс и вызывает ProcessAffinityMask. Если Вам нужна жесткая балансировка то посмотрите в сторону заданий (они же Job) Вы все-таки код покажите) по дефолту вроде как все доступные процессоры используются
Это особенность самого процесса была, если подаждать 3-5 сек после запуска, а потом уже вызвать SetProcessAffinityMask - то будет норм распределятся.
Есчо можно указать в директории конфигурации модуля битмапу ProcessAffinityMask. Но такая установка опасна - при невозможности установить требуемый аффинитет будет выведено сообщение и загрузчик дальнейшую работу прекратит.