Você deve habilitar o log de coleta de lixo nos servidores de produção. Os benefícios superam em muito o impacto insignificante no desempenho.
Você também pode monitorar o comportamento do GC usando outras abordagens (consulte as respostas).
Alguém sabe se o PrintGCDetails afeta muito o desempenho do java? Tenho monitorado a coleta de lixo do java em um servidor de armazenamento temporário com a mesma configuração do servidor de produção.
Presumi que era seguro dizer que não deveria ter isso ativado na produção, mas não sei se há realmente algum efeito no desempenho.
Você deve habilitar o log de coleta de lixo nos servidores de produção. Os benefícios superam em muito o impacto insignificante no desempenho.
Você também pode monitorar o comportamento do GC usando outras abordagens (consulte as respostas).
Dependendo de quanto o seu aplicativo java registra no disco, tenha muito cuidado para não começar a ver problemas de desempenho devido ao disco IO, vi isso acontecer com um par de aplicativos java diferentes em que o sistema funciona bem até ficar atolado executando logging.
Pode valer a pena investigar o uso do jmx para consultar como o sistema está sendo executado ou ativar o SNMP dentro da JVM (testei isso, mas não o usei em produção, portanto, use com muito cuidado e teste um pouco antes.)
Na pior das hipóteses, terá um efeito menor no desempenho. Depende de como seu aplicativo se comporta. Se ele exigir que o coletor de lixo seja executado com mais freqüência, ele exibirá mais informações de registro. O ato de fazer o registro não demora muito tempo, mas vai encher seus arquivos de log com muita informação extra.
Tags java garbage-collecting