Como posso descobrir quanta memória um domínio de aplicativo .Net está consumindo?

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Estou tentando restringir programaticamente o consumo de memória de plug-ins em execução em um AppDomain .Net, mas não consigo encontrar nenhum parâmetro de configuração para isso, nem uma maneira de consultar um AppDomain para descobrir quanta memória ele está consumindo .Alguma ideia?

Foi útil?

Solução

Aqui está a documentação para consultar o uso de memória de um processo.Não é o mesmo que AppDomain, mas pode ser um ponto de partida.

http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx

Você também pode perguntar ao GC o que ele acha que está alocado atualmente.

http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx

Outras dicas

Pergunta antiga, mas entretanto (desde o .Net framework 4.0) uma nova solução está disponível.Você terá que habilitar o ARM (Monitoramento de recursos de domínio de aplicativo).A partir daí, você pode solicitar informações sobre o tempo total consumido do processador, uso de memória, etc.

Veja a documentação da Microsoft aqui

Não tenho certeza programaticamente, mas Explorador de processos pode dizer quanta memória um AppDomain .net está usando.Talvez eles tenham alguma documentação sobre como estão consultando essas informações.

Usando a interoperabilidade mscoree.CorRuntimeHostClass de C:\WINDOWS\Microsoft.NET\Framework\vXXXXXX\mscoree.tlb

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top