Зачем это надо
Если у пользователей слабые машины с 1-2 ядрами процессора, десктопное приложение может тормозить. Поэтому в регресии стоит на мощной машинке выдать ему одно ядро и посмотреть, что он не тормозит как сволочьКак сделать
В винде ограничение по ядрам можно делать прямо в Диспетчере Задач:- Диспетчер задач → Подробности.
- Найти нужный процесс.
- Правой кнопкой → Задать сходство (в Windows 7 пункт называется "Задать соответствие").
- Снять галки, поставить только один ЦП.
В случае использования HyperThreading, виртуальные процессоры одного ядра обычно идут подряд. Если у нас:
Из этого следует, что если мы эмулируем одноядерную машину с 2 виртуальными ядрами, то нужно включать ЦП0 и ЦП1.
Если включить, например, ЦП0 и ЦП2, то будут использованы два разных "железных" ядра и производительность будет сильно выше.
- 4 железных процессора;
- 8 виртуальных (по 2 на каждом).
Из этого следует, что если мы эмулируем одноядерную машину с 2 виртуальными ядрами, то нужно включать ЦП0 и ЦП1.
Если включить, например, ЦП0 и ЦП2, то будут использованы два разных "железных" ядра и производительность будет сильно выше.
нет нужного мне exe файла в "подробностях"
ОтветитьУдалитьпотому что он не включен
ОтветитьУдалитьно я не знаю как запустить, мне нужно ограничить до запуска
ОтветитьУдалитьМожно запустить приложение на нескольких логических процессорах с помощью параметра affinity. Указываем маску в шестнадцатеричном формате, например требуется использовать процессоры 1, 3, 5, 7, соответственно, это будет 10101010 или 0xAA, передаем в виде /affinity 0xAA.
Удалитьт.е.
c:\windows\system32\cmd.exe /C start /affinity 0xAA software.exe
где software.exe - ваше приложение
если вместо 0xAA - передавать цифру - приложение будет запущено на соответствующем цифре логическом ядре.
c:\windows\system32\cmd.exe /C start /affinity 1 software.exe
ОтветитьУдалить