Troubleshooting
Problem
Java.lang.OutOfMemoryError: PermGen space error occurs when performing an addNode operation while creating a custom Deployment Environment profile on Solaris or HP-UX operating systems.
Symptom
Creating a deployment environment profile on a Sun Solaris or HP-UX system might fail with an OutOfMemoryError: PermGen exception if the option was specified to add the node as part of profile creation. This failure might occur as part of the addNode operation with the failure message found in the runAddNode.log file. The failure will have a message similar to the following:
Permanent generation is full...
increase MaxPermSize (current capacity is set to: 67108864 bytes)
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:160)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:550)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:520)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:451)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:439)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:419)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:334)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:386)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2383)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1406)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1365)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1292)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1234)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:962)
at com.ibm.xml.xci.XCIRegistry.loadProperties(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.registerFactoryFromProperties(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.<init>(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.<init>(Unknown Source)
at com.ibm.xml.xci.XCIRegistry.getInstance(Unknown Source)
at com.ibm.xml.xci.SessionContext.<init>(Unknown Source)
at com.ibm.xml.xci.SessionContext.<init>(Unknown Source)
at com.ibm.xml.sdo.helper.HelperContextImpl.<init>(Unknown Source)
at com.ibm.ws.sdox.extension.HelperContextImplExt.<init>(Unknown Source)
at com.ibm.ws.box.bomodel.impl.BOHelperContextImpl.<init>(BOHelperContextImpl.java:33)
at com.ibm.ws.box.bomodel.impl.BOHelperContextFactoryImpl.basicCreate(BOHelperContextFactoryImpl.java:21)
at com.ibm.xml.sdo.helper.HelperContextFactoryImpl.createHelperContext(Unknown Source)
Cause
The addNode.sh command does not specify a PermSize. Without this value, the permanent storage area of the Java™ virtual machine (JVM) uses a default size of 64MB. The addNode operation for a WebSphere Process Server and WebSphere Enterprise Service Bus node loads more classes than a WebSphere Application Server node. Therefore, the permanent storage area is exceeded, which generates an OutOfMemoryError.
Environment
This issue occurs with WebSphere Process Server or WebSphere Enterprise Service Bus that is running on Solaris or HP-UX operating systems.
Diagnosing The Problem
If a Deployment Environment profile creation fails when the addNode option is specified, check the runAddNode.log file for java.lang.OutOfMemoryError: PermGen space errors.
Resolving The Problem
To resolve this problem, include the -XX:PermSize Java Virtual Machine (JVM) option in the addNode.sh file.
For example:
-XX:PermSize=256m
This value increases the minimum size of the permanent region to 256MB.
This value increases the resources that are committed to the permanent region.
For additional information, see the Usage scenario section of the syncNode command documentation in the WebSphere Application Server Information Center.
Was this topic helpful?
Document Information
More support for:
WebSphere Process Server
Software version:
7.0
Operating system(s):
HP-UX, Solaris
Document number:
399127
Modified date:
15 June 2018
UID
swg21419221