Este é o primeiro post de uma série onde pretendo compartilhar, com considerável nível de detalhe, como resolver problemas de alocação de memória em aplicações .NET.
Meu desejo é fazer algo bem interativo. Em todos os posts vou:
- propor algumas questões,
- debater respostas nos comentários,
- apresentar conceitos técnicos relevantes.
O nível de dificuldade dos temas será incremental.
Para começar, vamos examinar o seguinte cenário:
Você foi contratado, por uma grande instituição financeira, para resolver o problema de um Serviço Windows, escrito em .NET (não por você), que está disparando OutOfMemoryException com frequência. Você não tem autorização para fazer um dump completo da memória. Entretanto, você tem acesso aos fontes, ao “Performance Monitor” e ao “Gerenciador de Tarefas” da máquina onde esse serviço está rodando. Qual seria sua primeira medida? Por quê?
Conto com sua participação nos comentários. Vamos tratar de alguns conceitos fundamentais e começar a responder essa questão no próximo post.