HP-UX Programmer's Guide for Java 2
Table Of Contents
- Table of Contents
- 1 Introduction
- 2 HotSpot Technology Tools and Commands
- 3 Configuration for Java™ Support
- 4 Performance and Tuning
- 5 Measuring System Performance
- 6 Using Threads
- 7 Using Signals
- 8 Using Java™ 2 JNI on HP-UX
- 9 Expanding Memory
- Determine your requirements
- Memory layout under HP-UX 11.0 (PA-RISC only)
- Additional memory available under HP-UX 11i (PA-RISC only)
- Allocating physical memory and swap in the Java™ heap
- Useful key command-line options for allocating memory
- Application-dependent considerations using large heap size HP-UX 11i PA-RISC
- Expanding heap size in native applications on PA-RISC HP-UX 11.11 and later releases
- Expanding heap size in native applications on Integrity HP-UX 11.23 and later releases
- Expanding heap size in HP-UX PA-RISC
- Expanding heap size in HP-UX Integrity
- 10 Diagnosing Memory Leaks
- A JDK/JRE 6.0.n and 7.0.n Usage Notes
- Using Java 2 JNI on HP-UX
- Garbage collection
- Asian TrueType fonts and Asian locales
- Date/Time methods defaults
- Profiling
- Compatibility with previous releases
- Java Cryptography Extension (JCE) policy files
- Configuring the Java Runtime Plug-In
- CLASSPATH environment variable
- Java Web Start technology usage
- Upgrading from a previous Java Web Start version
- IPv6 support
- Allocation Site Statistics and Zero Preparation -Xverbosegc
- JDK 6.0.04 flags
- GC log-rotation support
- NUMA collector enhancements
- ThreadDumpPath support
- Garbage-First garbage collector (-XX:+UseG1GC)
- jmap, jinfo, and jstack tools included in JDK 6.0.03
- Additional Java Web Start documentation
- B JDK/JRE 5.0.n Usage Notes
- Using Java 2 JNI on HP-UX
- Garbage collectors: Parallel and Concurrent Mark Sweep
- Allocating physical memory and swap in the Java heap
- Asian TrueType fonts and Asian locales
- Date/Time methods defaults
- Profiling
- Closing a socket (PA-RISC only)
- Compatibility with previous releases
- Java Cryptography Extension (JCE) policy files
- Allocation Site Statistics and Zero Preparation -Xverbosegc
- IPv6 support on Java 5.0
- GC log-rotation support in 5.0
- ThreadDumpPath support in 5.0
- Dynamically loaded libraries in 5.0
- Performance improvement for String.intern()
- Configuring the Java Runtime Plug-In
- CLASSPATH environment variable
- Java Web Start technology usage
- C SDK/RTE 1.4.2.n Usage Notes
- Removing support for unwanted architectures in the JRE
- Support for dynamic thread local storage (TLS)
- Signal Chaining functionality
- Using Java 2 JNI on HP-UX
- HotSpot JVM options
- Garbage collectors: Parallel and Concurrent mark sweep
- Allocating physical memory and swap in the Java heap
- Asian TrueType fonts and Asian locales
- Date/Time methods defaults
- Profiling
- Closing a socket when accept or read is pending (PA-RISC) - new patch information!
- Compatibility with previous releases
- Runtime Plug-In usage and configuration
- GC log-rotation support
- ThreadDumpPath support
- D Additional Resources
- Index

Expanding heap size in HP-UX Integrity
NOTE: The numbers provided in this section are approximate and might change from
release to release.
Hotspot 1.4.2.X/5.0.X/6.0.X running in 32-bit mode supports heaps larger than 3GB on
HP-UX 11.23 and later. In theory, an mpas 32-bit process on HP-UX 11.23 and later can
have 4GB address space. However, the address space available as java heap is smaller
than 4GB due to reserved address space for primordial stack, other private segment in
JVM like permanent generation, code cache and interpreter, and other reserved address
range and alignment.
For Java™ invoked from the command line on HP-UX 11.23, Java™ will automatically
choose an appropriate executable.
This is how Hotspot chooses the executable for SDK 1.4.2.09, JDK 5.0.01 and older
releases:
• For heaps less than 1700MB, the executable is 'java'.
• For heaps greater than or equal to 1700MB the executable is 'java_q4p`.
This is how Hotspot chooses the executable for SDK 1.4.2.10, JDK 5.0.02, JDK 6.0.00
and later releases:
• For (heaps + max perm + stack limit) less than 1800MB, the executable is 'java'.
• For (heaps + max perm + stack limit) greater than or equal to 1800MB the executable
is 'java_q4p`.
NOTE: For releases after SDK 1.4.2.10 and JDK 5.0.02, when using CMS, the estimated
threshold for switching is about 3% less than the values above, assuming default values
are used for NewSize, MaxNewSize, NewRatio, CMSMarkStackSize and
CMSRevisitStackSize.
Heaps mean total size of java heap determined by -Xmx option. max perm is perm
generation size limit determined by -XX:MaxPermSize=... option. stack limit
is primordial stack size limit which is initialized by kernel parameter maxssiz unless
it is changed explicitly by rlimit(2), shell's 'ulimit -s', etc.
You do not need to directly invoke these programs. Just invoke 'java' as usual, and
the appropriate program will be run for you.
Recent IPF JVMs have -Xmpas:on and -Xmpas:off options. If -Xmpas:on was used,
java_q4p is executed regardless of the java heap size. This might be useful when your
java application needs large malloc area or many number of threads.
On PA-RISC system, Q3P and Q4P executables provide larger private data space. On
IPF HP-UX, Mostly Private Address Space (MPAS) executable provides larger private
address space. A Non-MPAS executable has about 1.9GB private address space and
Expanding heap size in HP-UX Integrity 69