David
David

Reputation:

Out of Memory error starting JBoss with Portal from Eclipse

I cannot get JBoss Portal to start from Eclipse, though the AS alone starts fine, and the Portal starts correctly as well, when started from the command line as opposed to from within Eclipse. I'm running in Windows, with 3GB. Suggestions? Thank you.

Upvotes: 3

Views: 10441

Answers (5)

martins.tuga
martins.tuga

Reputation: 1732

I've spend hours to discover this, and almost gave up and started to use JBoss out of Eclipse.

In order to increase your JBoss vmargs when starting it from Eclipse you have to change JBoss launch configuration. If you change standalone.conf, nothing happens because Eclipse doesn't use it.

So, to change JBoss vmargs in Eclipse, you have to go to "Servers" tab, right click on your Jboss instance, and select "Open".

It will appear a new window. In the first section, you have a option: "Open launch configuration". When you click there, you'll see the textbox to change vmargs.

Hope this helps you!

Upvotes: 8

Gangnus
Gangnus

Reputation: 24484

  1. According to my experiments, all options of vmargs set in eclipse.ini, plays only once - when creating a new workspace. When you want to change the options in the existing workspace, use run/debug configuration as in https://stackoverflow.com/a/10814631/715269. vmargs in ini won't be read any more.

  2. Be careful, you should set -XX:MaxPermSize=...M, not -XX:PermSize=..., the last sets minimal, starting PermSize.

  3. ad. Jeremy. It is senseless to put mins and maxs to the same value. You deprive Eclipse of adaptability. -Xms and -Xmx ( heap) and PermGen and MaxPermGen should be different. (MaxPermGen =256 by default)

Upvotes: 0

blurec
blurec

Reputation: 131

What are you using for running portal from eclipse? Maybe Jboss tools can help you http://www.jboss.org/tools

Upvotes: 0

Jeremy
Jeremy

Reputation: 2908

There are different types of OutOfMemory errors:

java.lang.OutOfMemoryError: Java heap space

Increase the -Xms and -Xmx. I'd make sure they are set at least 256m and generally it's a good idea to set them to the same value.

java.lang.OutOfMemoryError: PermGen space

Add either -XX:+CMSPermGenSweepingEnabled or increase the PermGen size: -XX:PermSize=256m

java.lang.OutOfMemoryError: GC overhead limit exceeded

Add more heap, the garbage collector can't free enough memory with each cycle. Also try turning on GC logging.

java.lang.OutOfMemoryError: unable to create new native thread

Decrease your heap :) This means that you have too much memory allocated to the heap that the OS doesn't have enough memory to create threads..


Two last things, the above can be configured in jboss/bin/run.conf.

Also when starting JBoss see what -X parameters are being passed to the JVM, it prints this information by default, verify that it's what you expect it to be.

Upvotes: 7

Matthew Flaschen
Matthew Flaschen

Reputation: 285017

You need to increase the memory you're allocating to Java, in particular heap space and PermGen. This article is highly relevant. It mentions that this issue often occurs with Eclipse and JBoss (since both are fairly large), and provides a solution (adjusting the command-line flags).

Upvotes: 0

Related Questions