Esta é a natureza do Java: Coleta de lixo significa que o mundo inteiro para.
As soluções aceitas que conheço são geralmente ruins:
- Adicione mais RAM (para que você possa fazer mais consultas antes que a pressão da memória force um GC automático);
- Adicione mais servidores (para distribuir a carga); ou
- Incentive manualmente o GC a ser executado com mais frequência (por isso, ele tem menos a fazer e é concluído mais rapidamente )
Como você só começou a ter problemas após atualizar para uma nova versão do Solr, talvez queira verificar suas listas de e-mail e no rastreador de problemas para ver se esse é um problema conhecido resolvido em uma versão posterior.
Se você quiser criar um perfil e depurar o aplicativo em si que realmente seria mais uma pergunta sobre estouro de pilha - é possível que você esteja solróide em algo subóptimo (em sua consulta ou no aplicativo) que está causando mais RAM do que precisa.