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

or file systems from that disk to a lesser used disk or to a new disk. See “Use
HPjmeter to detect bottlenecks” (page 36).
4. If %idle is frequently equal to zero, or if runq-sz (runqueue size) is frequently
high (eight or more), the system is CPU bound. If system throughput is less than
desired, upgrade to a faster processor or reduce computational load on the system.
5. Check the capacity of the system tables for processes, inode cache, and file
descriptors. These are labeled proc-sz, inod-sz, and file-sz. If the current
utilization is too close to the maximum available, increase the corresponding
HP-UX kernel parameter (nproc, ninode, or nfile). When increasing nfile,
increase nflocks proportionally.
Additional suggestions
• Increasing the size of the buffer cache takes memory away from the pool of free
memory, so be sure that you do not force the system to start swapping or paging.
Thus, increasing the size of the buffer cache may require installing more memory
on the system.
• You can reduce computational load on the system by changing some operational
procedures (such as doing backups at night) or tuning the application to make it
more efficient. Profile the application software using -eprof to look for
performance bottlenecks, then use the HPjmeter performance analysis tool.
Use HPjconfig to tune system parameters
HPjconfig is a Java™ configuration tool for tuning your HP-UX 11.0 or 11i PA-RISC or
Itanium system kernel parameters to match the characteristics of your application.
HPjconfig recommends kernel parameters tailored to your Java™ enterprise services
(web server, application server, etc.) and HP-UX hardware platform. HPjconfig is a
pure Java™ Application that runs on the HP-UX SDK or JRE for the Java™ 2 Platform
version 1.2.2 or later (for which HP-UX 11.00 or later is required).
Download the latest free version of HPjconfig
Use HPjmeter to detect bottlenecks
HPjmeter is a Java™ specific profiler, a platform-independent performance analysis
tool. It helps detect performance bottlenecks by graphically displaying profiling data.
HPjmeter uses a profiling data file from your application, which you obtain by using
the -eprof, -Xeprof, or -Xrunhprof option, depending on your Java™ version. If
you are using SDK 1.3.1 or later, you can also use HPjmeter's lock contention metric to
analyze lock contention between threads.
• Download the latest free version of HPjmeter
Use the -Xverbosegc option to profile garbage collection
-Xverbosegc option is garbage collection profiling, developed specifically for Java™
running on HP-UX. For more information, see Chapter 2 (page 8). See also "Java™
36 Measuring System Performance