Я пытаюсь программно ограничить потребление памяти плагинами, запущенными в .Net AppDomain, но я не могу найти какие-либо параметры настройки для этого и не могу найти способ запросить AppDomain, чтобы выяснить, сколько памяти он потребляет. , Есть идеи?
Вот документация для запроса использования памяти процессом. Не то же самое, что AppDomain, но это может быть место для начала.
http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx
Вы можете спросить GC, что, по его мнению, в настоящее время выделено.
http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx
Не уверен программно, но Process Explorer может сказать вам, сколько памяти использует .net AppDomain. Возможно, у них есть документация о том, как они запрашивают эту информацию.
Использование взаимодействия mscoree.CorRuntimeHostClass из C: \ WINDOWS \ Microsoft.NET \ Framework \ vXXXXXX \ mscoree.tlb
Старый вопрос, но в то же время (начиная с .Net Framework 4.0) доступно новое решение. Вам нужно будет включить ARM (мониторинг ресурсов домена приложения). С этого момента вы можете запрашивать информацию об общем потребляемом процессоре, использовании памяти и т. Д.