Войти

Показать полную графическую версию : назначение ЦП для запускаемого процесса


muslimdogger
20-09-2018, 19:36
прошу помочь с батником следующего содержания:
запускается две проги ххх.ехе и ууу.ехе, нужно было сделать так чтоб они при каждом запуске запускались на разных цп
т.е. при первом запуске запускаются на ЦП0, после ЦП1.....ЦП11. ну и было б хорошо если можно было б еще и указывать колво ЦП на которых прога может работать.
спасибо!

Iska
20-09-2018, 19:56
нужно было сделать так чтоб они при каждом запуске запускались на разных цп
т.е. при первом запуске запускаются на ЦП0, после ЦП1.....ЦП11. »
Делайте.
start /?
параметр /AFFINITY.

ну и было б хорошо если можно было б еще и указывать колво ЦП на которых прога может работать. »
Указывайте. Параметр тот же. Просто задаёте битовую маску.

muslimdogger
20-09-2018, 20:24
Iska, я к сожалению не уточнил что эти проги запускаются сами, не из батника, а от батника нужен детект запуска.
запустились прожки, батник задетектил, и присвоил им определенный цп. дальше запустится след пара прожек, может параллельно, а может через время после закрытия, нужно чтоб батник также определил и присвоил им уже следующее цп..

Iska
20-09-2018, 20:59
И нахрена зачем такие ландыши?! Да ещё пакетным файлом. Это шутка такая, что ли?

muslimdogger
20-09-2018, 21:01
Iska, нет, не шутка

Iska
20-09-2018, 21:26
muslimdogger, так зачем? Что это за приложения, и зачем всё это нужно?

muslimdogger
20-09-2018, 22:04
приложения однотипные, запускаются удаленно. когда следишь за активностью и вручную назначаешь процы, то все норм, нормально если назначать 1-2цп на любую из прог, когда же некоторое время работает на 4-12цп, то при запусках начинаются жуткие тормоза, особенно если на это наложится запуск 3ей пары. Прожки 32битные, система 64битная, я создал виртуалку и перекинул туда все, при 2цп на виртуалке все норм, но при >=2цп - тормозит, 32битную систему не могу позволить по причине прожорливости озу.. понимаю что косяк в прожках, но к сожалению к тому умельцу кто это писал доступа и связи с ним у меня нет.

Iska
20-09-2018, 22:57
muslimdogger, спрошу ещё раз: что это за приложения? Зачем их надо запускать удалённо? Чем, как они запускаются? Почему нельзя осуществлять их запуск самому?

muslimdogger
22-09-2018, 14:57
может ли кто помочь?

alpap
22-09-2018, 16:18
не кто а что: понимание, благоразумие, откровенность, конкретика.

Iska
22-09-2018, 18:02
muslimdogger, не понимаю, почему Вы не хотите озвучить в теме то, что озвучили мне в личку, ничего «военного» там нет.

В общем и целом: Вам нужен временный подписчик на события создания процесса, который будет по получении уведомления задавать процессу маску соответствия логических процессоров (SetAffinity). Это можно сделать на чистом C/C++, либо других ЯВУ, можно использовать .Net-языки, либо базирующийся на .Net PowerShell (что, вероятно, будет самым простым и наиболее доступным средством). Ни пакетные файлы, ни WSH тут не сгодятся — ни у того, ни у другого нет средств для выполнения SetAffinity напрямую. Кроме того, скрипт будет вести свой внутренний счётчик, какие очередные логические процессоры уже были использованы.

Насколько выбранное Вами решение Вам поможет — не знаю, думаю — что не особо.

может ли кто помочь? »
Вам может помочь, например, коллега Kazun (http://forum.oszone.net/member.php?userid=318497). Я — точно нет, мои познания в PowerShell в данном случае явно недостаточны и слишком разрознены фрагментарны.

muslimdogger
23-09-2018, 02:36
Iska, если это было полностью моим делом и принадлежало бы от розетки и до проца мне, то я выложил бы в паблик, а так как "инициатива может быть наказуема", то мне не очень хотелось бы придавать огласке. К рекомендованному вами человеку я может обращусь, пока что обещали помочь на делфи, подожду.. спасибо всем в любом случае!

Iska
23-09-2018, 03:05
пока что обещали помочь на делфи, »
Вероятно, сие тоже сгодится.




© OSzone.net 2001-2012