In this artical we will dscuss about the Sun JVM tunning for JBoss Application Server, Tomcat Web server,
Eclipse
-XX Options
Some options may vary per architecture/OS/JVM version. Platforms with a differing default
value are listed in the description.
- Boolean options are turned on with
-XX:+<option>and turned off with-XX:-<option>>. - Numeric options are set with
-XX:<option>=<number>. Numbers can includemorMfor megabyteskorKfor kilobytesgorGfor gigabytes- for example,
32kis the same as32768
-
String options are set with
-XX:<option>=<string>, are usually used to specify a file, a path, or a list of commands
Parallel Garbage collection
-XX:+UseParallelGC Use parallel garbage collection for scavenges-XX:ParallelGCThreads=4 Use parallel garbage collection threadsNOTE:
-XX:+UseParallelGC and -XX:+UseConcMarkSweepGC can't be used at same time as
JVM Perameter.
Out Of Memory Heap Space
Defining Heap size:-Xms used for initial java heap size.-Xmx Used for Maximum java heap size. Parameter defining bat file of a Server or commandline or eclipse launch file configuration
-Xms256M -Xmx512M
java.lang.OutOfMemoryError : PermGen Space
Defining permanent generation (PermGen) space:-XX:PermSize Used for initial permanent generation size. -XX:MaxPermSize Used for Maximum permanent generation size. Parameter defining bat file of a Server or commandline or eclipse launch file configuration
-XX:PermSize=256m -XX:MaxPermSize=512
Sweeping of the permanent generation
The Sun JVM uses the permanent generation to store class files, but the permanent generation is not sweeped by the garbage collector. Each time you redeploy your application, the permanent generation gets bigger and eventually it bursts, regardless of how big you make it. The problem is NOT with JBoss AS. You will see the same problem with Tomcat eventually. The problem is with the garbage collector strategy not aligning with how web applications are redeployed. You can enable sweeping of the permanent generation using following parameters.-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Dump heap to file when java.lang.OutOfMemoryError
-XX:-HeapDumpOnOutOfMemoryError Dump heap to file when java.lang.OutOfMemoryError
is thrown.
Post a Comment
Post a Comment