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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 4.3.0.GA
    • 4.3.0.BETA3
    • Documentation
    • None
    • RHEL-5 i386
      2GB ram + Swap
      JDK 1.5.0_13

    • Workaround Exists
    • Hide

      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.

      Show
      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.
    • Medium

      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."

              vrenish Vinu S Renish (Inactive)
              jbalunas@redhat.com Jay Balunas
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: