Показать полную графическую версию : назначение ЦП для запускаемого процесса
muslimdogger
20-09-2018, 19:36
прошу помочь с батником следующего содержания:
запускается две проги ххх.ехе и ууу.ехе, нужно было сделать так чтоб они при каждом запуске запускались на разных цп
т.е. при первом запуске запускаются на ЦП0, после ЦП1.....ЦП11. ну и было б хорошо если можно было б еще и указывать колво ЦП на которых прога может работать.
спасибо!
нужно было сделать так чтоб они при каждом запуске запускались на разных цп
т.е. при первом запуске запускаются на ЦП0, после ЦП1.....ЦП11. »
Делайте.
start /?
параметр /AFFINITY.
ну и было б хорошо если можно было б еще и указывать колво ЦП на которых прога может работать. »
Указывайте. Параметр тот же. Просто задаёте битовую маску.
muslimdogger
20-09-2018, 20:24
Iska, я к сожалению не уточнил что эти проги запускаются сами, не из батника, а от батника нужен детект запуска.
запустились прожки, батник задетектил, и присвоил им определенный цп. дальше запустится след пара прожек, может параллельно, а может через время после закрытия, нужно чтоб батник также определил и присвоил им уже следующее цп..
И нахрена зачем такие ландыши?! Да ещё пакетным файлом. Это шутка такая, что ли?
muslimdogger
20-09-2018, 21:01
Iska, нет, не шутка
muslimdogger, так зачем? Что это за приложения, и зачем всё это нужно?
muslimdogger
20-09-2018, 22:04
приложения однотипные, запускаются удаленно. когда следишь за активностью и вручную назначаешь процы, то все норм, нормально если назначать 1-2цп на любую из прог, когда же некоторое время работает на 4-12цп, то при запусках начинаются жуткие тормоза, особенно если на это наложится запуск 3ей пары. Прожки 32битные, система 64битная, я создал виртуалку и перекинул туда все, при 2цп на виртуалке все норм, но при >=2цп - тормозит, 32битную систему не могу позволить по причине прожорливости озу.. понимаю что косяк в прожках, но к сожалению к тому умельцу кто это писал доступа и связи с ним у меня нет.
muslimdogger, спрошу ещё раз: что это за приложения? Зачем их надо запускать удалённо? Чем, как они запускаются? Почему нельзя осуществлять их запуск самому?
muslimdogger
22-09-2018, 14:57
может ли кто помочь?
не кто а что: понимание, благоразумие, откровенность, конкретика.
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, если это было полностью моим делом и принадлежало бы от розетки и до проца мне, то я выложил бы в паблик, а так как "инициатива может быть наказуема", то мне не очень хотелось бы придавать огласке. К рекомендованному вами человеку я может обращусь, пока что обещали помочь на делфи, подожду.. спасибо всем в любом случае!
пока что обещали помочь на делфи, »
Вероятно, сие тоже сгодится.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.