1 Reply Latest reply: Oct 22, 2012 10:10 AM by Robert Wunderlich-Oracle RSS

    PermGen space Error+AIA installation

      As per installation guide i m installing AIA FP. But I m struck in step 10 of installation and screen hung in 0%, when i checked the log files in "oraInstall2012-10-17_03-30-28PM.err" i m getting the following error "Exception in thread "Thread-36" java.lang.OutOfMemoryError: PermGen space".

      As per document i have given the following value, <Middleware home>/user_projects/domains/<domain_name>/bin ----> setDomainEnv.cmd

      ----> USER_MEM_ARGS=-Xms1024 –Xmx1024 -XX:PermSize=256m -XX:MaxPermSize=256m -XX:AppendRatio=3

      But when i start my server in my console the argument values are reflecting from setSOADomainEnv.cmd values.

      what i need to do complete installation ?

      thanks and regards,
        • 1. Re: PermGen space Error+AIA installation
          Robert Wunderlich-Oracle
          setDomainEnv.sh calls set<prod>DomainEnv.sh in sequence, so any setting in setDomainEnv.sh will be overridden. You will need to make sure you set the product specific values in the product specific domain Env script.

          Furthermore, the logic to set up these scripts appears to simply add calls to the scripts without regard to the server being started. For example, an AdminServer would typically require a smaller memory footprint than a SOA managed server, and of course the FP demo recommends an even larger memory setting. Add another product like OER and your settings will get overridden again.

          I've set up test/demo/training envs and have incorporated the following logic in my setDomainEnv.sh and setSOADomainEnv.sh scripts:


          if [ "${SERVER_NAME}" = "soa_server1" ] ; then
          . ${DOMAIN_HOME}/bin/setSOADomainEnv.sh
          elif [ "${SERVER_NAME}" = "oer_server1" ] ; then
          . ${DOMAIN_HOME}/bin/setOERDomainEnv.sh


          echo "*****************************************************"
          echo "** Begin AIA specific environment setup"
          echo "*****************************************************"

          USER_MEM_ARGS="-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:AppendRatio=3 -XX:NewSize=1228m -XX:MaxNewSize=1228m -XX:SurvivorRatio=10"
          export USER_MEM_ARGS

          echo "."
          echo USER_MEM_ARGS=${USER_MEM_ARGS}
          echo "."
          echo "*****************************************************"
          echo "** End AIA specific environment setup"
          echo "*****************************************************"

          Essentially I am controlling the execution of the set<prod>DomainEnv.sh script based on the managed server which allows me to use only the required memory settings for each server type.

          I think there are many ways to do this, but this has worked for me.