For better performance, test with JVM-vendor-specific options.
For example, these are typical "hotspot" VM options that you can set:
- -XX +AggressiveHeap - uses heaps that are nearly as large as the total physical memory
- -XX +UseISM - uses intimate shared memory (Solaris)
AggressiveHeap warnings:
1. Use all available memory
2. Incompatible with -Xms -Xmx
3. The heap might may steal memory from the stack
Intimate shared memory warnings (for Solaris only):
1. Lock memory; use only on dedicated systems
2. Memory fragmentation can prevent allocation of contiguous 4 MB pages
3. Abnormal JVM termination can result in locked segments
4. To discover and delete locked segments, use ipcs and ipcrm
Tips
- Do not set the server's heap size larger than the available free RAM on a machine.
- For high performance and throughput, set the minimum JVM heap size equal to the maximum heap size.
- WebLogic Server's logging feature for low memory condition can be used to sample the available free memory to detect low memory conditions.
- When monitoring garbage collection, if the heap always settles to 85% free, try reducing the heap size.
- When setting -noclassgc make sure the perm size is set greater than the default value (32mb).
Avoid using the -verbosegc option during production run. - Use parallel garbage collection algorithms with multiple CPU machines to reduce the garbage-collection pause time.
- On Intel-based architectures, for better performance, configure WebLogic to use the JRockit virtual machine.
- To discover and delete locked segments, use ipcs and ipcrm.