Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Padrão de uso de memória estranho no aplicativo C# Windows Form


O problema definitivamente é devido ao ODP.NET. Se eu desabilitar o pool de conexões o problema não se manifesta. Para cada conexão o ODP.NET parece criar 2 threads e no intervalo de 3 minutos (como visto nas imagens) o ODP.NET faz algumas tarefas domésticas, mas por algum motivo aloca memórias que não são liberadas imediatamente.

É fácil de reproduzir. Basta criar um aplicativo simples que quando um botão é pressionado uma conexão com um banco de dados Oracle é aberta e um procedimento armazenado é executado. Você notará o padrão da primeira imagem. O padrão das demais imagens se deve ao número de conexões criadas pelo aplicativo.