PeopleSoft

HP-UX Kernel Parameters for PeopleSoft

October 22, 2008 · 2 Comments

Kernel Parameters Summary

This post is simply to provide some guidelines for choosing values for HP’s HP-UX 11i v1, v2 and v3 Operating System for PeopleSoft Installations. It is not a definitive guide, set in stone, etc. It is simply a list of kernel parameters that are relevant to PeopleSoft Applications. I derived the list from HP’s documentation and based on several production/development HP PA-RISC and Itanium installations.

The values are based on PeopleSoft deployments structured around PeopleSoft’s PIA (Pure Internet Architecture), that divides the PeopleSoft architecture into the following components:

Web Server, Application Server, Process Scheduler (Batch) and Database tiers.

Unless noted the values are applicable to all tiers are intended to provide a starting point for tuning kernel parameters and you have to keep in mind all installations have their own unique characteristics that will drive the ultimate values.

HP-UX 11i (v1, v2, v3) provides some dynamic kernel parameter support and error checking by SAM (System Administration Manager for HP-UX) may prevent changing some of these parameters until After a reboot has been performed in order to avoid invalidating and/or causing problems with non-dynamic (static) kernel parameters in use for the current boot. A second boot will not be required just a second invocation of SAM in the event that you need to change some values, reboot and then invoke SAM to make the final change(s).

HP-UX 11i v1 is 11.11, v2 is 11.23 and v3 is 11.31. An “nc” in the below table indicates that no change is required or necessary.

Parameter Dynamic Default Value Recommended Value
maxuprc 11i v1 : 75 (NPROC/8->514
maxusers (11iv1 only) 32 128
nproc 11iv1 : (20+8*MAXUSERS) (20+32*MAXUSERS)->4116
nproc (nc for v2/v3) v2/v3 : 4200
maxfiles_lim yes 11iv1 : 1024 2048
maxfiles_lim (nc for v2/v3) v2/v3 : 4096
maxfiles 11iv1 : 60 2048
maxfiles (nc for v2/v3) v2/v3 : 2048
max_thread_proc 11iv1 : 64 1024
v2/v3 : 256
maxdsize 11iv1 : 0×10000000->256MB 0xC0000000->3GB
v2/v3 : 0×40000000->4GB 0xC0000000->3GB
maxdsiz_64bit 11iv1 : 0×40000000->1GB 0×000003F000000000
v2/v3 : 0×10000000->4GB ->4TB
maxssiz 0×00800000->8MB 0×04000000->64MB
maxsize_64bit 11iv1 : 0×00800000->8MB 0×08000000->128MB
maxsize_64bit (nc for v2/v3) v2/v3 : 0×10000000->256MB
vx_ninode 0 (8*NPROC)
dbc_min_pct yes 50 10 (or 5)
dbc_max_pct 5 2
swapmem_on 1 (but may be 0 for some) 1 (set to 0 if configured device swap>=server memory)
swchunk 2048 16384
vps_ceiling 16 256

NOTE: dbc_[min|max]_pct have been replaced with filecache_[min|max]
for HP-UX 11.31. Buffer cache settings are dynamic kernel parameters for HP-UX v2 and later.

Use of Formulas in HP-UX 11i V1

In the older HP-UX 11i v1 version of the Operating System, formulas were used for many kernel parameters and as a result changes to MAXUSERS and NPROC values would result in indirect changes to the following parameters:

Parameter Formula Original Value New Value
ncallout (16+NKTHREAD) 292 4132
nclist (100+16*MAXUSERS) 2148
nkthread ((NPROC*7)/4)+16) 499 7219
nfile ~(16*(NPROC+MAXUSERS)/10) 910 7208
ninode ~(NPROC+MAXUSERS) 476 4412

Kernel Parameters Fixed Values and Obsoleted Parameters

HP-UX 11i v2 and v3 use fixed values for these parameters. Additionally, the NCALLOUT and MAXUSERS kernel parameters have been deprecated in those operating system versions. It is not necessary to modify the 11i v2 or v3 kernel to use the formulas because the fixed values are sufficient for most deployments and unless there is a demonstrated need it is best to not implement formulas for v2 and v3.

Summary of Changes

The changes to the max parameters show above are necessary to allow sufficient kernel resources for a typical production deployment. Servers that support multiple environments (development and test environments) may need higher values to accommodate the number of PeopleSoft environments. Error messages in the PeopleSoft log files should help provide insight into which configured parameters need to be adjusted. For example, error messages noting “process table full” or “fork of child process failed” are usually indicators that NPROC and/or MAXUPRC need to be increased.

The dbc_min_pct and dbc_max_pct values (filecahe_min and filecache_max for HP-UX 11i v3) should be set so as to restrict the kernel’s buffer cache to several hundred megabytes at most (10% of a 4 GB sever, 5% of an 8 GB server, and 1% of a 32 GB server). Database servers may require large file system buffer caches if the database instance is maintained on standard file systems and those file systems are configured to use buffered I/O in the first place (not a good practice and not recommended by Oracle or HP).

Setting a non-zero value for vx_ninode also has a positive impact on overall file system performance. An explicit value ensures that the kernel’s Veritas file system code does not inadvertently consume more resources than necessary for file-system intensive operations and applications. Changes in HP-UX 11i v2 require that the formula for vx_ninode be tied to a parameter with a fixed value (e.g. NPROC), not one that itself is another formula (e.g. NFILE).

Increasing swchunk faciliates adding swap space should it become necessary. Configuring additional storage as device swap does not require a reboot, modifying swchunk, however, does.

A higher setting for vps_ceiling allows the HP-UX kernel to minimize in-memory fragmentation of applications with large data footprints. This is particulary useful for PeopleSoft server processes and Oracle RDBMS processes, both of which allocate, contiguous memory at runtime.

PeopleSoft Enterprise / BEA Tuxedo Kernel Parameters

PeopleSoft Enterprise uses BEA Tuxedo’s Infrastructure, which requires additional kernel configuration changes. These settings are required on the application and batch server tiers. Below is a guideline for assigning values for the kernel parameters related to BEA Tuxedo and are based on HP’s recommendation documentation:

Parameter Dynamic Default Value Recommended Value
msgssz 11iv1 : 8 512
v2/v3 : 96
msgmni 11iv1 : 50 256
v2/v3 : 512 256
msgseg 11iv1 : 2048 32767
v2/v3 : 8192
msgtql 11iv1 : 40 2046
v2/v3 : 1024
msgmnb yes 16384 1048576
msgmax yes 8192 256000
msgmap 11iv1 : (2+msgtql) (2+msgtql)
v2/v3 : 1026
semmns 11iv1 : 128 512
(nc for v2/v3) v2/v3 : 4096
semmni 11iv1 : 64 (SEMMNS/2)
(nc for v2/v3) v2/v3 : 2048
semmnu 11iv1 : 30 (SEMMNS/4)
(nc for v2/v3) v2/v3 : 256
shmmax yes 11iv1 : 0×04000000 0×40000000 (1 GB)
(nc for v2/v3) v2/v3 : 0×40000000

Note: Systems that have multiple deployments (more than one PeopleSoft Environment) should use BEA’s utility tmloadcf to verify that there are sufficient allocation of IPC resources. In particular, semmnu will need to be increased for systems that will run multiple PeopleSoft instances simultaneously (e.g., we have 7 or more environments all running at the same time). I will post a follow-up note with information and samples of output for the BEA tmlaodcf utility to illustrate the kernel parameters we have deployed for this server.

Categories: PeopleSoft · UNIX
Tagged: , ,

2 responses so far ↓

  • Greg // June 15, 2009 at 12:30 pm | Reply

    Excellent post, thanks!
    However, after applying the following kernel parms to our RP3340 HP-UX v11.23 PA8900/800 4×1000Mhz 16G application server running PT8.47.08, we are seeing lots of vfaults.

    Any comments welcome! Thanks, Greg

    Tunable old new
    dbc_max_pct 50 3
    dbc_min_pct 5 1
    default_disk_ir 0 1
    fs_async 0 1
    max_thread_proc 1200 2048
    maxdsiz 1073741824 90000000
    maxdsiz_64bit 4294967296 4396972765184
    maxssiz 8388608 200802304
    maxuprc 256 1028
    msgmap 1026 2048
    msgmax 8192 256000
    msgmnb 16384 1048576
    msgmni 512 1024
    msgseg 8192 32767
    msgssz 96 512
    msgtql 1024 2046
    semmnu 256 4096
    semmni 2048 2048
    semmns 4096 4096
    vps_ceiling 16 256
    vx_ninode 0 33600

  • Greg // August 3, 2009 at 9:18 am | Reply

    Stan, thanks for your posts; unfortunately there were many issues with PT8.47.08 related to PSAPPSRV memory corruption which caused crashes and poor performance. We ave since upgraded to PT8.49.20 which seems more stable. I am working towards TUXEDO throughput testing as we are still running HP-UX out of the box. Certain pages in the application are taking a long time to build in the PSAPPSRV process, not due to SQL, but more related to volume. I am hoping the kernel changes will address this. I do see a lot of Waits on MESG and Waits on STRMS using glance.
    -Greg

Leave a Comment