O conteudo do script e muito util para quem sabe o que fazer com ele e como analisar as saidas. Cuidado ao utiliza-lo livremente em funcao do heapdump que e gerado a cada execucao entao precisam avaliar espaco em disco e impacto antes disto. Ele serve para coletar diversas informacoes sem que seja necessario algo mais que o JDK instalado no servidor alvo que vao avaliar. Exemplo de saida: $ ./snapshot-jvm.shPID JVM -> 18854Date execution -> Wed Oct 26 15:47:27 BRST 2016Take thread dump...Take memory snapshot...Attaching to process ID 18854, please wait...Debugger attached successfully.Server compiler detected.JVM version is 24.79-b02Attaching to process ID 18854, please wait...Debugger attached successfully.Server compiler detected.JVM version is 24.79-b02finding class loader instances ..done.computing per loader stat ..done.please wait.. computing liveness..............liveness analysis may be inaccurate ...Take memory dump...Dumping heap to /opt/resources/temp/heapdump-18854-15-2016-10-26.hprof ...File existsSnapshot resources in useCheck threads in use...Finish.Repositorio para download : https://github.com/helkmut/snapshot-jvmEm resumo, apos sua execucao podera avaliar threads ativas nos connectors, thread dump, heap dump e suas estatisticas, assim como estatisticas do uso dos recursos do servidor. Com essa informacao conseguimos identificar uma contencao de recursos seguramente. Espero ter ajudado de alguma forma, ao menos poupando o trabalho de fazer um script igual. Dias atras fomos desafiados por um evento intermitente e ate entao desconhecido. O time de desenvolvedores em questao, alegava que utilizando um sistema web via navegador, ao realizar um refresh (F5) a requisicao para uma API que possuia o webserver Apache como frontend pendurava e nao mais respondia. Entretanto se apontavam a API para um managedserver* do WebLogic respondia corretamente. Isso impactava diretamente no sistema, degradando a imagem que o usuario tem deste sistema. Com integracao entre os times, conhecimento especifico e experiencia dos envolvidos a causa foi identificada, nosso vilao KeepAlive desativado, e mais um problema resolvido. Inumeros eventos nos levaram a estressar e aplicarmos testes com a finalidade de isolarmos o que era causa e o que era sintoma."Mas claro o KeepAlive...", devem estar pensando, ate que pudessemos chegar ao vilao, dezenas de analises, isolamentos e mudancas foram testadas, tais como atualizar versao do Apache, recompilar outros modulos do MPM (worker, prefork e event), e ate outro modulo como ModProxy, por fim outro WebServer Nginx. Este e o tipo de problema que adoramos ter todos os dias, desafios com alto grau de complexidade, para que possamos aprimorar e executar metodos de gestao de incidentes. Uma pausa para refletir... A carreira do profissional de middleware, vale a pena? Ainda existe demanda? Enquanto a tendencia dos entusiastas da tecnologia da informacao e explorar e falar cada vez mais de solucoes e metodos intangiveis, focando-se em discursos elegantes com palavras atuais como cloud*, Big Data*, machine learning*, entre outras tecnologias e metodos que em muitos casos ainda nao sao uma realidade dentro de sua organizacao, de nada adiantara saber escalar, balancear recursos, ou trabalhar com solucoes inovadoras em cliques do mouse, ou classes requisitando SDKs se o ambiente que sustentas e atua nao esta pronto para este tipo de uso, e instavel e preso a um presente regulado por ausencia de investimento em inovacao.Quando atuamos em