Вы на самом деле используете uirouter. Это гибридная версия, но все же это uirouter. Для эквивалента this.router.navigate вы можете использовать:
this.uirouter.stateService.go('items');
Одна функция Лассо Процесса должна установить привязку процесса каждый раз, когда тот процесс запускается.
Используйте SetProcessAffinityMask (). И остерегайтесь, Привязка Процессора наследована!
Необходимо будет использовать ImageFileExecutionOptions, конкретно опция "Debugger", и записать собственный маленький исполняемый файл, который называет SetProcessAffinityMask () на себе и затем порождает новый процесс, который является тем, к которому Вы хотите установить привязку. Набор, что как отладчик, и Вы сделаны.
Можно хотеть посмотреть на /AFFINITY
параметр к start
.
От справки:
AFFINITY The new application will have the specified processor
affinity mask, expressed as a hexadecimal number.
Поскольку привязка процессора в Windows является битовой маской, Вам, возможно, понадобится некоторое экспериментирование, но я принял бы 1
будучи первым ядром, поэтому 7
будучи первыми тремя ядрами и F
быть всеми четырьмя. Или 8
для только четвертого.
Можно затем заменить запланированные задачи или ярлыки с вызовом к start
с соответствующими параметрами.
Можно использовать единственный-proc контейнер приложения привязки для принуждения одного процессора на исполняемом уровне, который вызовет процесс на одно ядро.
Эта статья, http://msdn.microsoft.com/en-us/library/bb173458.aspx, имеет абзац на включении контейнера к нижней части.
Вы могли попытаться установить приоритет процесса так, чтобы, даже если он решает использовать 100% ЦП, что-то, что является более высоким приоритетом, могло вступить во владение, когда он должен сделать так.
Выполнение этого автоматически (вместо того, чтобы иметь необходимость играть в диспетчере задач) является чем-то, о чем я спросил только что.
Утилита ImageCfg.exe работает. Я просто использовал его, чтобы решить проблему компании сегодня. Он доступен по адресу http://www.robpol86.com/pages/imagecfg.php
Imagecfg -a 0x3 xxx.exe
ограничивает .exe, например, CPU0 и CPU1.
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}