HP-UX HB v13.00 Ch-22 - Performance and Tuning

HP-UX Handbook Rev 13.00 Page 17 (of 19)
Chapter 22 Performance & Tuning
October 29, 2013
kernel checks each processor to determine whether it is running a thread or process or is idle. If
it is idle, it checks to see if there is any outstanding IO for that processor. If there is, the time
gets counted as %wio, if not the time is counted as idle time.
If the cpu is busy, the time is attributed either to user cpu or system cpu based on the process.
There is no check on I/O at all. A busy system doing lots of I/O can often show less wio than an
idle system doing less actual IO.
If the system is a single processor system under heavy load the CPU bottleneck may be
unavoidable. The cpu run queue is a good indicator of actual CPU load , the %runocc provides
an idea of how much bandwidth the CPU has , when it reaches 100 the CPU is at saturation.
To find out what the run queue load is, run :
Example:
sar q 5 100
runq-sz %runocc swpq-sz %swpocc
10:06:36 0.0 0 0.0 0
10:06:41 1.5 40 0.0 0
10:06:46 3.0 20 0.0 0
10:06:51 1.0 20 0.0 0
Average 1.8 16 0.0 0
runq-sz - Average length of the run queue(s) of processes (in memory and runnable)
%runocc - The percentage of time the run queue(s) were occupied by processes
(in memory and runnable) maximum is 100
swpq-sz - Average length of the swap queue of runnable processes
(processes swapped out but ready to run)
These cpu reports can be combined using sar -Muq .
Check the output of ps elf for the cumulative CPU time of application and OS based processes
, and their priorities. Some alteration of scheduling policies may be beneficial for application
performance.
Tuning of the system caches can also optimize CPU efficiency. Default values for vx_ninode ,
vxfs_ifree_timelag , filecache_max can all lead to excessive CPU overhead .
Scheduling
There are instances when the default POSIX scheduler is inadequate for applications to run
efficiently . HP-UX has a number of schedulers available, altering the default scheduler always
come with the risk of making some processes or threads run slower due to priority based context
switching.
: