1 2 Previous Next 26 Replies Latest reply on Jun 4, 2014 12:40 PM by luan.cestari

    Jboss para de responder

    rodrigo.parede

      Boa noite,

       

      Queria tirar uma dúvida com vocês...

       

      Meu senario: estou usando o apache com mod_proxy de entrata e o jboss 7.

       

      Nos logs do apache:

      [error] proxy: HTTP: disabled connection for (server)

       

      Já no jboss não apresenta erro no log e a aplicação para de responder, será que é algum problema nas configurações da JVM? Esse é o caminho?

        • 1. Re: Jboss para de responder
          mauriciomag

          Fala Rodrigo blz?

           

          Cara esse erro é meio genérico mas eu checaria o SELinux!

           

          Edite o arquivo /etc/selinux/config e coloque como disabled. Isso desabilita o SELinux definitivamente. Se quiser realizar apenas um teste  execute:

           

          #  setenforce 0

           

          Reinicie seu ambiente e verifique se está funcionando!


          Abraços

          1 of 1 people found this helpful
          • 2. Re: Jboss para de responder
            rodrigo.parede

            Valeu Mauricio, desabilitei.

             

            Agora apareceu outro problema java.lang.OutOfMemoryError: unable to create new native thread

             

            Fiz um ajuste na jvm -Xss256k, vamos ver se vai parar o problema.

             

            Sera que estava escondendo esse erro?

             

             

            Obrigado!!!

            • 3. Re: Jboss para de responder
              mauriciomag

              Acredito que o problema esteja mais relacionado ao Sistema operacional...


              Edite o arquivo /etc/security/limits.d/90-nproc.conf  e deixe-o como abaixo:

               

              # Default limit for number of user's processes to prevent

              # accidental fork bombs.

              # See rhbz #432903 for reasoning.

               

              *          soft    nproc     32000

              root       soft    nproc     unlimited

               

              Reinicie o Sistema operacional e teste novamente.

              Abraços

              1 of 1 people found this helpful
              • 4. Re: Jboss para de responder
                rodrigo.parede

                Oi Mauricio, fiz esse ajuste mas não vou conseguir reniciar o SO agora, só com agendamento.

                 

                Eu acho que o problema pode estar nas configurações da JVM, parece tem hora agendada para dar o problema (rsrsrs) a cada 3 horas da esse pani.

                 

                Segue os parametros que estou usando, talvez ache algo de errado:

                 

                   JAVA_OPTS="-Xms4g -Xmx5g -XX:MaxPermSize=512m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true"

                   JAVA_OPTS="$JAVA_OPTS -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

                   JAVA_OPTS="$JAVA_OPTS -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError"

                   JAVA_OPTS="$JAVA_OPTS -XX:+CMSClassUnloadingEnabled"

                   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"

                   JAVA_OPTS="$JAVA_OPTS -Djboss.server.default.config=standalone.xml"

                   JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -Xss256k -XX:+DisableExplicitGC"

                • 5. Re: Jboss para de responder
                  mauriciomag

                  O seus params do JVM estão aparentemente corretos...  esse erro "java.lang.OutOfMemoryError: unable to create new native thread" é meio generico, podem existir vários fatores.

                   

                  Eu ainda acho que alterando aquele param do SO vai resolver o seu problema. Reinicia quando puder e me diz se funcionou!

                   

                  Abraços

                  • 6. Re: Jboss para de responder
                    adrianoschmidt

                    Rodrigo, talvez você tenha que aumentar o XSS.. tente usar um valor bem maior que 256, talvez 1024 ou 2048...

                     

                    Mas também dê uma olhada se você não tem nenhuma chamada recursiva nos seus fontes.. algum método que chama ele mesmo... ou algo cíclico.... pois é um thread stack muito grande que causa esse erro que você falou...

                     

                    faça isso para testar, mas depois o ideal é diminuir o XSS para não gastar tanta memória do seu servidor...

                     

                    fonte: http://www.onkarjoshi.com/blog/209/using-xss-to-adjust-java-default-thread-stack-size-to-save-memory-and-prevent-stackov…

                    • 7. Re: Jboss para de responder
                      rimolive

                      Adriano,

                       

                      Valores de Xss a 256k já são suficientes para rodar aplicações Web no JBoss. Cuidado com valores de 1MB ou 2MB(conforme sua sugestão), pois valores desse tipo pode aumentar o tamanho do processo Java e com isso consumir a memória do servidor. O cálculo geralmente é feito dessa forma:

                       

                      Tamanho do processo Java = Heap + PermGen + (número de Threads * Xss) + Heap Nativa (que geralmente ocupa 512MB a 1GB)

                       

                      Rodrigo, verifique primeiramente o valor de nofiles e nproc. Além disso, certifique de que seu sistema é de 64 bits (acredito que sim porque você configou uma Heap de acima de 2GB) e também considere diminuir o PermGen pela metade e utilizar a JDK a partir da versão 1.6

                      • 8. Re: Jboss para de responder
                        mauriciomag

                        Eu alteraria o nproc como eu disse acima... nas ultimas semanas eu configurei cerca de 30 servidores e em todos isso resolveu o meu problema... mas cada caso é um caso.

                        • 9. Re: Jboss para de responder
                          rodrigo.parede

                          Reinicie o servidor, aparentemente estava tudo ok, mas depois de umas 4 horas caiu.

                           

                          Parece que aumentou o tempo, depois desse período começa a ficar muito lento e perde todas as conexões, mas não gera nenhum erro nos logs.

                          • 10. Re: Jboss para de responder
                            rodrigo.parede

                            Ricardo,

                             

                            Estou usando 64x, como checo o nofiles?

                             

                            Sobre o PermGen, precisamos ajustar acima pois esta estourando erro, não sei se é a melhor solução, mas ajudou nesse problema.

                            • 11. Re: Jboss para de responder
                              rimolive

                              > Estou usando 64x, como checo o nofiles?

                               

                              ulimit -n

                               

                              > Sobre o PermGen, precisamos ajustar acima pois esta estourando erro, não sei se é a melhor solução, mas ajudou nesse problema.

                              Você faz muitos deployments nesse servidor? Se sim, então está explicado o motivo do PermGen alto.

                              • 12. Re: Jboss para de responder
                                rodrigo.parede

                                Retornou o valor 1024.

                                 

                                Realmente realizamos deploys semanais.

                                • 13. Re: Jboss para de responder
                                  rimolive

                                  > Retornou o valor 1024.

                                  Esse valor é muito baixo para uma aplicação em produção. Dobre esse valor, pois já seria o suficiente.

                                   

                                  > Realmente realizamos deploys semanais.

                                  Vocês então utilizam hot deployment? Pois o hot deployment gera esse problema de manter um valor de PermGen alto. Sugiro que, ao realizar os deployments semanais, façam uma janela de manutenção onde vocês reiniciam o servidor.

                                  • 14. Re: Jboss para de responder
                                    rodrigo.parede

                                    Oi Ricardo fiz a alteração mas não adiantou muito, continuou caindo.

                                     

                                    Acho que achei um furo na soma da memória para jvm.

                                    Total physical memory: 8g

                                    Committed virtual memory: 10g

                                     

                                    Ajustei os valores para chegar a 7g, porem ainda parece que esta caindo.

                                    1 2 Previous Next