Как узнать, сколько памяти потребляет домен приложений .Net?

StackOverflow https://stackoverflow.com/questions/26074

  •  09-06-2019
  •  | 
  •  

Вопрос

Я пытаюсь программно ограничить потребление памяти плагинами, работающими в .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

Другие советы

Старый вопрос, но тем временем (начиная с .Net framework 4.0) доступно новое решение.Вам необходимо включить ARM (мониторинг ресурсов домена приложения).С этого момента вы можете запросить информацию об общем потребляемом процессорном времени, использовании памяти и т. д.

См. документацию Microsoft здесь.

Не уверен программно, но Обозреватель процессов может сказать вам, сколько памяти использует домен приложений .net.Возможно, у них есть какая-то документация о том, как они запрашивают эту информацию.

Использование взаимодействия mscoree.CorRuntimeHostClass из C:\WINDOWS\Microsoft.NET\Framework\vXXXXXX\mscoree.tlb

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top