Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-469

Out of perm-gen memory when deploying applications to the productions configuration


    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 4.3.0.BETA3
    • Fix Version/s: 4.3.0.GA
    • Component/s: Documentation
    • Labels:
    • Environment:

      RHEL-5 i386
      2GB ram + Swap
      JDK 1.5.0_13

    • Workaround:
      Workaround Exists
    • Workaround Description:

      Manually update the JAVA_OPTS settings to -Xms1303m -Xmx1303m -XX:PermSize=256m -XX:MaxPermSize=256m.

      This can be done in the "JBOSS_DIST/jboss-as/server/production/run.conf' file.

      Manually update the JAVA_OPTS settings to -Xms1303m -Xmx1303m -XX:PermSize=256m -XX:MaxPermSize=256m. This can be done in the "JBOSS_DIST/jboss-as/server/production/run.conf' file.
    • Estimated Difficulty:


      Memory setting for production/ server config not adjusting perm-gen. I ran in OOM permgen space when deploying applications. This is a very similar bug as JBPAPP-66 and is related. I saw that the changes to perm-gen space were taken out for production config as stated here "http://jira.jboss.com/jira/browse/JBPAPP-46#action_12362090". At my previous company we ran into many similar issues with JBoss the solution was to up perm-gen space. From my experience perm-gen space is not a ratio of the total allocated memory as was stated in the above jira link. The other aspects of the heap (eden, code cache, etc) are ratios. I verified this through the JMX console "jboss.system.Type=ServerInfo.listMemoryPools()." operation. This lists out current and max settings. On the production the max perm-gen is still 64MB. There was also an argument in the jira issue that we should not assume too much about a customers environment, I would offer that 64MB will always be too small for a production environment. I suggest putting the value to 256 using the Java opts discussed in the jira issue (this is what we ran our enterprise server with).

      I have verified that the jmx-console does show the updated perm-gen memory when perm-gen min and max are set in the production server config. One thing that should be considered is that the perm-gen space is not part of the Xmx or Xms settings. This means that if you set perm-gen to 512mb and Xmx to 1.5GB. The process will in effect use 2.0GB. In my experience I usually adjusted the Xmx based on the perm-gen setting. I would also not recommend setting the perm-gen to 512mb I think that is very high. For my test I set it to min 256 and max 256.

      These were the settings that I used "-Xms1303m -Xmx1303m -XX:PermSize=256m -XX:MaxPermSize=256m."

        Gliffy Diagrams


            Issue Links



                • Assignee:
                  vrenish Vinu S Renish
                  jbalunas Jay Balunas
                • Votes:
                  0 Vote for this issue
                  0 Start watching this issue


                  • Created: