AnsweredAssumed Answered

OutOfMemoryError: PermGen space

Question asked by mkieboom on May 29, 2012
Latest reply on Mar 14, 2014 by maheshma
Hi there,

Within our company we have Alfresco running within VMWare for a few months now however still we have problems with Permgen space error from Java.
The error occurs every 2 or 3 days while the virtual machine is definetely powerfull enough to run Alfresco.

I can not find any website or blog with the right solution to the problem.
Can anyone help me with this problem? The wiki from Alfresco also did not give me the right solution.
http://wiki.alfresco.com/wiki/ASR_Performance_Optimization

Kind regards,


Marcel Kieboom


export JAVA_OPTS='-Xms2G -Xmx4G -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=1G -server'
export JAVA_OPTS='-Xms512m -Xmx768m -Xss768k -XX:MaxPermSize=256m -XX:NewSize=256m -server'
export JAVA_OPTS='-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -server'
export JAVA_OPTS='-Xms1G -Xmx2G -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=512m -server'
export JAVA_OPTS="${JAVA_OPTS} -Dalfresco.home=${ALF_HOME} -Dcom.sun.management.jmxremote"
export JAVA_OPTS='-Xms768m -Xmx1536m -Xss1m -XX:MaxPermSize=128m -Xcomp -Xbatch -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=384m -XX:CMSInitiatingOccupancyFraction=80 -server'
export JAVA_OPTS='-Xms768m -Xmx1536m -Xss1024k -XX:MaxPermSize=256m -Xcomp -Xbatch -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=512m -XX:CMSInitiatingOccupancyFraction=80 -server'
export JAVA_OPTS='-Xms768m -Xmx1536m -Xss1024k -XX:MaxPermSize=382m -Xcomp -Xbatch -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=512m -XX:CMSInitiatingOccupancyFraction=80 -server'

The code above shows the settings I made / changed where the last line is the current setting.

Alfresco Community v4.0.0 (3979) schema 5025

Here some pieces of the log file when the error occured:


=====================================================================================================================================================

Exception in thread "http-8080-12" java.lang.OutOfMemoryError: PermGen space
Exception in thread "JobAcquisitionThread" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8080-62" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8080-31" java.lang.OutOfMemoryError: PermGen space
Exception in thread "RMI RenewClean-[192.168.1.213:50502,org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory@0]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "RMI RenewClean-[192.168.1.213:50501,org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory@0]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "RMI RenewClean-[192.168.1.213:50504,org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory@0]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "RMI RenewClean-[192.168.1.213:50506,org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory@0]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "RMI RenewClean-[192.168.1.213:50508]" java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:27:19,199  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-12] Exception from executeScript - redirecting to status template error: 04290002 Wrapped Exception (with status template): 042923501 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/doclist.get.js': 042923500 PermGen space
2012-05-29 13:27:19,200  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-31] Exception from executeScript - redirecting to status template error: 04290003 Wrapped Exception (with status template): 042923506 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/site/site.get.js': 042923504 Exception from transactional callback: org.alfresco.repo.transaction.RetryingTransactionAdvice$1@c87c354
2012-05-29 13:28:55,095  ERROR [job.executor.JobExecutorThread] [AlfrescoJbpmJobExecutor:192.168.1.213:1] exception in job executor thread. waiting 90000 milliseconds
2012-05-29 13:29:00,056  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] Detected first UserTransaction which is being garbage collected without a commit() or rollback()
2012-05-29 13:29:00,056  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] Logging of transaction call stack is now enabled and will affect performance
Exception in thread "RMI RenewClean-[192.168.1.213:50505,org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory@0]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "RMI RenewClean-[192.168.1.213:55574]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "AlfrescoJbpmJobExecutor:192.168.1.213:1" java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:29:22,231  ERROR [quartz.simpl.SimpleThreadPool] [DefaultScheduler_Worker-3] Error while executing the Runnable:
java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:27:53,380  INFO  [webscripts.connector.RemoteClient] [http-8080-62] Error status 499 Read timed out
2012-05-29 13:29:25,649  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-18] Exception from executeScript - redirecting to status template error: (class: org/springframework/extensions/webscripts/WebScriptException, method: getStatusModel signature: ()Ljava/util/Map;) Illegal constant pool index
2012-05-29 13:29:30,546  INFO  [webscripts.connector.RemoteClient] [http-8080-27] Error status 499 Read timed out
2012-05-29 13:29:33,411  ERROR [surf.render.RenderService] [http-8080-18] The following error occurred attemping to render a sub-component
java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:29:35,794  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] UserTransaction being garbage collected without a commit() or rollback(). NOTE: Prior to transaction call stack logging.
2012-05-29 13:29:35,791  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-27] Exception from executeScript - redirecting to status template error: (class: org/springframework/extensions/webscripts/WebScriptException, method: getStatusModel signature: ()Ljava/util/Map;) Illegal constant pool index
2012-05-29 13:29:40,776  ERROR [surf.render.RenderService] [http-8080-27] The following error occurred attemping to render a sub-component
java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:29:58,409  ERROR [quartz.simpl.SimpleThreadPool] [DefaultScheduler_Worker-7] Error while executing the Runnable:
java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:30:03,703  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-34] Exception from executeScript - redirecting to status template error: PermGen space
java.lang.OutOfMemoryError: PermGen space
2012-05-29 13:30:13,451  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] UserTransaction being garbage collected without a commit() or rollback(). NOTE: Prior to transaction call stack logging.
2012-05-29 13:30:13,451  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] UserTransaction being garbage collected without a commit() or rollback(). NOTE: Prior to transaction call stack logging.


=====================================================================================================================================================

2012-05-23 09:00:00,091  INFO  [security.sync.ChainingUserRegistrySynchronizer] [DefaultScheduler_Worker-6] Synchronize User Creation and Association: Completed batch of 3 entries
2012-05-23 09:00:00,125  INFO  [security.sync.ChainingUserRegistrySynchronizer] [DefaultScheduler_Worker-6] Finished synchronizing users and groups with user registry 'Synchronize'
2012-05-23 09:00:00,125  INFO  [security.sync.ChainingUserRegistrySynchronizer] [DefaultScheduler_Worker-6] 3 user(s) and 0 group(s) processed
Exception in thread "AlfrescoJbpmJobExecutor:192.168.1.213:1" Exception in thread "DefaultScheduler_QuartzSchedulerThread" Exception in thread "http-8080-59" 2012-05-23 09:21:49,674  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-59] Exception from executeScript - redirecting to status template error: PermGen space
2012-05-23 09:22:16,704  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] Detected first UserTransaction which is being garbage collected without a commit() or rollback()
2012-05-23 09:22:16,705  ERROR [transaction.SpringAwareUserTransaction.trace] [Finalizer] Logging of transaction call stack is now enabled and will affect performance

=====================================================================================================================================================
2012-05-22 13:42:18,526  ERROR [post.lookup.PostLookup] [DefaultScheduler_Worker-3] Exception during update of posts
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
        at org.alfresco.repo.activities.post.lookup.PostLookup.execute(PostLookup.java:165)
        at org.alfresco.repo.activities.post.lookup.PostLookupJob.execute(PostLookupJob.java:50)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
Exception in thread "JobAcquisitionThread" java.lang.OutOfMemoryError: PermGen space
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
        at java.lang.Class.getMethod0(Class.java:2687)
        at java.lang.Class.getMethod(Class.java:1620)
        at org.apache.commons.logging.LogFactory.directGetContextClassLoader(LogFactory.java:896)
        at org.apache.commons.logging.LogFactory$1.run(LogFactory.java:862)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.LogFactory.getContextClassLoaderInternal(LogFactory.java:859)
        at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:423)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
        at org.springframework.transaction.support.TransactionTemplate.<init>(TransactionTemplate.java:66)
        at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:38)
        at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
        at org.activiti.engine.impl.jobexecutor.JobAcquisitionThread.run(JobAcquisitionThread.java:63)
2012-05-22 13:43:05,467  ERROR [post.lookup.PostLookup] [DefaultScheduler_Worker-7] Exception during update of posts
java.lang.OutOfMemoryError: PermGen space
=====================================================================================================================================================

Outcomes