Как установить привязку процессора на исполняемом файле в Windows XP?

Вы на самом деле используете uirouter. Это гибридная версия, но все же это uirouter. Для эквивалента this.router.navigate вы можете использовать:

this.uirouter.stateService.go('items');

9
задан GEOCHET 9 March 2009 в 21:16
поделиться

7 ответов

Одна функция Лассо Процесса должна установить привязку процесса каждый раз, когда тот процесс запускается.

5
ответ дан 4 December 2019 в 08:16
поделиться

Используйте SetProcessAffinityMask (). И остерегайтесь, Привязка Процессора наследована!

Необходимо будет использовать ImageFileExecutionOptions, конкретно опция "Debugger", и записать собственный маленький исполняемый файл, который называет SetProcessAffinityMask () на себе и затем порождает новый процесс, который является тем, к которому Вы хотите установить привязку. Набор, что как отладчик, и Вы сделаны.

3
ответ дан 4 December 2019 в 08:16
поделиться

Можно хотеть посмотреть на /AFFINITY параметр к start.

От справки:

AFFINITY    The new application will have the specified processor
            affinity mask, expressed as a hexadecimal number.

Поскольку привязка процессора в Windows является битовой маской, Вам, возможно, понадобится некоторое экспериментирование, но я принял бы 1 будучи первым ядром, поэтому 7 будучи первыми тремя ядрами и F быть всеми четырьмя. Или 8 для только четвертого.

Можно затем заменить запланированные задачи или ярлыки с вызовом к start с соответствующими параметрами.

5
ответ дан 4 December 2019 в 08:16
поделиться

Можно использовать единственный-proc контейнер приложения привязки для принуждения одного процессора на исполняемом уровне, который вызовет процесс на одно ядро.

Эта статья, http://msdn.microsoft.com/en-us/library/bb173458.aspx, имеет абзац на включении контейнера к нижней части.

3
ответ дан 4 December 2019 в 08:16
поделиться

Вы могли попытаться установить приоритет процесса так, чтобы, даже если он решает использовать 100% ЦП, что-то, что является более высоким приоритетом, могло вступить во владение, когда он должен сделать так.

Выполнение этого автоматически (вместо того, чтобы иметь необходимость играть в диспетчере задач) является чем-то, о чем я спросил только что.

0
ответ дан 4 December 2019 в 08:16
поделиться

Утилита ImageCfg.exe работает. Я просто использовал его, чтобы решить проблему компании сегодня. Он доступен по адресу http://www.robpol86.com/pages/imagecfg.php

Imagecfg -a 0x3 xxx.exe

ограничивает .exe, например, CPU0 и CPU1.

3
ответ дан 4 December 2019 в 08:16
поделиться

http://waynes-world-it.blogspot.com/2009/06/processor-affinity-on-windows-server.html

PowerShell

Используйте PowerShell для установки аффинности процессора для одного или нескольких работающие процессы. Ниже приведен пример скрипта ниже, устанавливая процессорную маску Calc.exe до первых 4 процессоров. Мне нравится этот метод, потому что скрипт прост, было бы легко запланировано, работает на X86 и X64, поддерживает несколько процессов того же имени и, по крайней мере, частично, потому что он подчеркивает, насколько легко администрация с PowerShell есть.

Обратите внимание, что если вы используете факториал большого количества с помощью Calc.exe (N!), Вы будете генерировать100% CPU, который может быть полезен для тестирования. Маска ниже 0xF = 1111 - маска, позволяющая использовать только первые четыре процессоры:

$calcSet = Get-Process -ProcessName "calc"
foreach ($calc in $calcSet) {$calc.ProcessorAffinity=0xF}
6
ответ дан 4 December 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: