ЦП и ограничение памяти для домена приложения - PullRequest
15 голосов
/ 15 сентября 2010

Я хочу разместить exe-файл в домене приложения и назначить ему процессор и ограничение памяти, чтобы он не использовал больше назначенной вычислительной мощности.Можно ли это сделать и как?

Ответы [ 4 ]

3 голосов
/ 24 ноября 2014

Насколько я знаю, максимальный объем памяти нельзя ограничить напрямую.

Однако, начиная с .NET 4, память, выделенная AppDomain, доступна в *Свойство 1005 *, если AppDomain.MonitoringIsEnabled установлено на true.Вы можете раскрутить сторожевой поток для отслеживания распределений.

1 голос
/ 31 марта 2012
0 голосов
/ 15 сентября 2010

Единственный способ, с помощью которого я знаю, - это использовать HyperV (или аналогичные продукты) и разбивать ваши приложения на разные виртуальные машины.Но это не совсем дешевое или простое решение.

0 голосов
/ 15 сентября 2010

Даже мониторы производительности Windows не позволяют просматривать загрузку ЦП с помощью AppDomain - поскольку домены приложений являются логическими конструкциями CLR и не известны ОС, единственное отслеживание использования ЦП находится на уровне процесса - я был бы шокирован, если бы есть способ ограничить то, что вы даже не можете отслеживать.

Что именно является причиной вашего желания сделать это? Почему вы не хотите, чтобы ваше приложение использовало все доступные ему ресурсы? Если это просто случай, когда нужно убедиться, что для запуска других процессов достаточно ресурсов, вы не можете просто установить очень низкий приоритет потоков и позволить планировщику Windows выяснить это?

...