Java 2 SDK for Solaris Developer's Guide

Additional Java HotSpot VM arguments

Numbers can include 'k' or 'K' for kilobytes, 'm' or 'M' for megabytes, 'g' or 'G' for gigabytes, and 't' or 'T' for terabytes (for example, 32k is the same as 32768). Turn on a boolean flag with -XX:+<option> and off with -XX:-<option>.

Flag and Default 

Description 

-XX:-AllowUserSignalHandlers

Do not complain if the application installs signal handlers 

-XX:AltStackSize=16384

Alternate signal stack size (in Kbytes) 

-XX:+MaxFDLimit

Bump the number of file descriptors to max 

-XX:MaxHeapFreeRatio=70

Maximum percentage of heap free after GC to avoid shrinking 

-XX:MinHeapFreeRatio=40

Minimum percentage of heap free after GC to avoid expansion 

-XX:ReservedCodeCacheSize=32m

Reserved code cache size (in bytes) — maximum code cache size 

-XX:+UseBoundThreads

Bind user level threads to LWPs (default on in 1.4) 

-XX:+UseLWPSynchronization

Use LWP-based instead of thread based synchronization (default on in 1.4) 

-XX:+UseThreadPriorities

Use native thread priorities 

-XXMaxPermSize=64m

Size of the permanent genration. 

-XX:-CITime

Time spent in JIT Compiler (1.4 only) 

-XX:-PrintTenuringDistribution

Print tenuring age information 

-XX:TargetSurvivorRatio=50

Desired percentage of survivor space used after scavenge 

-XX:-DisableExplicitGC

Disable calls to System.gc(). VM still performs garbage collection when necessary.

-XX:-OverrideDefaultLibthread

On Solaris 9, this option is not necessary. On Solaris 8, J2SETM versions 1.3.1_02+ and 1.4+ require this option when using the alternate threads library. This option is not possible on pre-Solaris 8 operating environments.

For more information on threads libraries, see the threads document at http://java.sun.com/docs/hotspot/threads/threads.html.

Those flags differing per architecture/OS. "Flag and Default" has the default of Sparc/-server.

Flag and Default 

Description 

-XX:CompileThreshold=10000

Number of method invocations/branches before compiling [10,000 —server, 1,000 — client on Sparc, 1,500 on client x86] 

-XX:MaxNewSize=unlimited

Maximum size of new generation (in bytes) [32m Sparc, 2.5m x86 for 1.3, no limit for 1.4 as NewRatio is now used to determine MaxNewSize]] 

-XX:NewRatio=2

Ratio of new/old generation sizes [Sparc -server: 2; Sparc -client: 4 (1.3), 8 (1.3.1+); x86: 12] 

-XX:NewSize=2228224

Default size of new generation (in bytes) [Sparc 2.125M, x86: 640k] 

-XX:SurvivorRatio=64

Ratio of eden/survivor space size [Solaris: 64] 

-XX:ThreadStackSize=512

Thread Stack Size (in Kbytes) (0 means use default stack size [Solaris Sparc 32–bit: 512, Solaris Sparc 64–bit: 1024, Solaris x86: 256]) 

-XX:+UseTLAB (XX:+UseTLE in J2SE 1.3)

Use thread-local object allocation [Sparc -server: true, all others: false] 

-XX:+UseISM

See Intimate Shared Memory, online at http://java.sun.com/docs/hotspot/ism.html.