hifi-dd
hifi-dd

Reputation: 21

"java.lang.OutOfMemoryError: Java heap space" when starting WSO2 Enterprise Mobility Manager

I've downloaded Version 1.0.0 of WSO2 Enterprise Mobility Manager
I followed the Prerequisites and
the General Server Configurations

System Win 7 64bit 12GB RAM
JDK java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
JAVA_HOME is set to JDK Directory

if I execute:

<PRODUCT_HOME>\bin>wso2server.bat --run

I get following error:

JAVA_HOME environment variable is set to C:\Program Files\Java\jdk1.7.0_51
CARBON_HOME environment variable is set to C:\inetpub\wwwroot\WSO2MO~1.0\bin\..
java.lang.OutOfMemoryError: Java heap space
Dumping heap to C:\inetpub\wwwroot\WSO2MO~1.0\bin\..\repository\logs\heap-dump.h
prof ...
Heap dump file created [1077051686 bytes in 5.148 secs]
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.wso2.carbon.bootstrap.Bootstrap.loadClass(Bootstrap.java:63)
    at org.wso2.carbon.bootstrap.Bootstrap.main(Bootstrap.java:45)
Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:2367)
    at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.
java:130)
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractString
Builder.java:114)
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:535
)
    at java.lang.StringBuffer.append(StringBuffer.java:322)
    at java.io.BufferedReader.readLine(BufferedReader.java:363)
    at java.io.BufferedReader.readLine(BufferedReader.java:382)
    at org.wso2.carbon.server.extensions.DropinsBundleDeployer.processBundle
sInfoFile(DropinsBundleDeployer.java:146)
    at org.wso2.carbon.server.extensions.DropinsBundleDeployer.perform(Dropi
nsBundleDeployer.java:71)
    at org.wso2.carbon.server.Main.invokeExtensions(Main.java:149)
    at org.wso2.carbon.server.Main.main(Main.java:94)
    ... 6 more

I tried to raise heap size in wso2server.bat on line 161 up to -Xms4000m XmX8000mbut then I get an error java.lang.OutOfMemoryError: Requested array size exceeds VM limit

What can I do to get the Enterprise Mobility Server succesfully running?

Upvotes: 2

Views: 2983

Answers (2)

Amir Afghani
Amir Afghani

Reputation: 38531

I tried to raise heap size in wso2server.bat on line 161 up to -Xms4000 XmX8000

You omitted the units - which defaults to kilobytes. Try:

-Xms4g -Xmx8g

You might also try running with -verbose:gc and visualize the data with a tool like HPjmeter. This will help you with sizing the heap appropriately.

Upvotes: 1

user3507600
user3507600

Reputation: 1075

Your -Xms and -Xmx options are way too low. This may be helpful. The number after those options is not in KB or MB, it's in just B... Your JVM won't even run at 8000B. Try increasing it to a reasonable number.

Edit: The prerequisites you linked states you need:

~ 512 MB heap size. This is generally sufficient to process typical SOAP messages but the requirements vary with larger message sizes and the number of messages processed concurrently.

Upvotes: 0

Related Questions