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

5 Measuring System Performance
Check system activity with sar
Once the system is running with a full load, check the system activity for signs of
trouble. This can be done by using sar (system activity reporter).
With the maximum number of users actively using the system, run this command:
$ sar -o sarfile 5 60
This takes 60 samples, each one five seconds apart (for a total of five minutes), saving
the binary output to sarfile. sar puts very little load on the system, so taking these
samples is not disruptive for the users. sar prints the CPU utilization at each sample,
while saving the system data in sarfile.
After sar has collected the data, produce a report using the command:
$ sar -Af sarfile >sar.report
sar reads the binary sarfile and creates a sar.report file. Option -A means all.
You may want to collect system statistics to help in tuning the kernel configuration
parameters for optimal performance. See “Use HPjconfig to tune system parameters”
(page 36). Run a script once during peak system usage, and once during medium usage
of the system.
Run the script while there are active users on the system. The script should collect
system statistics for several minutes. Ideally, the users would be running the same
programs that comprise their normal daily activity.
To analyze system performance, review the listing of the final report.
Interpreting the sar performance report
Examine sar.report, looking for the following signs of trouble. Check the report in
the following order, because some symptoms mask others. For example, a system that
is memory bound will have excessive disk activity due to swapping, but the solution
is not to adjust the disks. Once you have a diagnosis, do not proceed to the next step
in the process. For example, fix a memory bound system by adding memory, then make
a new sar run to check for other performance problems.
1. If swpot/s (swapouts per second) is frequently greater than one, the system is
memory bound. If swpocc (percent swap queue is occupied) is greater than five,
the system is memory bound. In either case, add more memory to the system.
2. If %rcache is frequently less than 90 or %wcache is frequently less than 65, the
buffer cache is too small. Increase the value of the kernel's bufpages parameter
and generate a new kernel.
3. If %busy is greater than 50 for any disk, that disk has become a bottleneck. (Another
way to identify a disk bottleneck is to use "avque <= 2".) Move one or more files
Check system activity with sar 35