Siebel AIX Kernel Parameters for Object Manager and Web/Application Interface Servers

Siebel Application and Web/Application Interface servers running the AIX operating system have specific kernel requirements. These are needed for optimal performance, stability and scalability of these servers. The kernel settings change across releases of AIX and Siebel.

Kernel Parameter Settings for Siebel Application Servers on AIX 7.2.x Plus

For Siebel Application Servers on AIX 7.2.x and later releases, the following kernel parameter settings are recommended:
Note: VMO Parameters are deprecated.

Set MAXUPROC to (200 + (MAXTASK/MaxMTServer)). Too low a value for MAXUPROC will cause server processes to abort. Unproductive consumption of kernel memory will occur at very high values. Never set MAXUPROC below 512. For AIX 7.x, the default is 4096.

AIX Kernel Parameter Value Comments
IO Parameters NA NA
ioo -p j2_nBufferPerPagerDevice =2048 Variable, should be >= 2048
ioo -p numclust =128 Variable, should be >= 128
ioo -p numfsbufs =256 Variable, should be >= 256
ioo -p sync_release_ilock =1 NA
NA NA NA
NO Parameters NA NA
no -p rfc1323 =1 NA
no -p rfc2414 =1 NA
no -p tcp_sendspace =221184 (default) Variable, should be >= 131072
no -p tcp_recvspace =221184 (default) Variable, should be >= 131072
no -p tcp_nodelayack =1 NA
no -p tcp_nagle_limit =0 NA
no -p tcp_init_window =3 NA
no -p sb_max =1310720 (default) NA
Caution: Never enable the RT_GRQ parameter. This parameter was used in Siebel 7.0 and AIX 4.0. In later releases, it has been implicated in application crashes, and in severe performance degradation in later releases of AIX.

Settings for AIX Siebel Application Servers on AIX 7.2.x Plus

For AIX Siebel Application Servers on AIX 7.2.x and later releases, the following settings are recommended for SIEBENV.SH:

  • SIEBEL_OSD_MAXLIMITS=1
  • SIEBEL_OSD_NLATCH=see formula
  • SIEBEL_OSD_LATCH=see formula
  • EXTSHM=ON (EXTSHM allows for segments to be generated from already allocated memory allowing for better scalability; optional)
  • AIXTHREAD_SCOPE=S
  • AIXTHREAD_MUTEX_DEBUG=OFF
  • AIXTHREAD_RWLOCK_DEBUG=OFF
  • AIXTHREAD_COND_DEBUG=OFF
  • AIXTHREAD_MNRATIO=1:1
  • LDR_CNTRL=@PREREAD_SHLIB@MAXDATA=0x80000000

Notes on LDR_CNTRL:

  • IGNOREUNLOAD is deprecated.
  • PREREAD_SHLIB causes the entire library to be loaded as soon as one routine is accessed. Provides smoother performance of the application.
  • For Siebel 7.x if MAXDATA is greater than 6, it will be impossible to support more than 3,000 MaxTasks per physical server. Crashes, server not starting and hangs have occurred with MAXDATA set to 8. For Siebel 8.x MAXDATA of up to 8 segments is supported. Please refer to 1536956.1
  • Also refer for MAXTDATA: 2668192.1
  • MWNO_SIGNAL_CATCHING is strongly recommended to be set to True; this will avoid process hang which usually are hard to be detected.

Note on AIXTHREAD_MNRATIO:

For AIX 7.x, the default is 1:1 and this does not need to be explicitly set on the Siebel Application Servers.

Formulas for SIEBEL_OSD_NLATCH and SIEBEL_OSD_LATCH (Note that these are generic values. Tune as needed to optimize your deployment):

  • SIEBEL_OSD_NLATCH = 7 * (cumulative MaxTasks for all components) + 1000
  • SIEBEL_OSD_LATCH = 1.2 * (cumulative MaxTasks for all components)

The following parameter settings are recommended for siebmtshw:

  • export AIXTHREAD_SCOPE=S
  • export YIELDLOOPTIME=4 (at least the number of processor cores)
  • export SPINLOOPTIME=1000
  • export LDR_CNTRL=@PREREAD_SHLIB@MAXDATA=0x80000000
  • export EXTSHM=ON
  • MWNO_SIGNAL_CATCHING=true (recommended by IBM during debugging of crashes to direct the mainwin library within the Siebel process to dump out its underlying signal when core dumping)

For Siebel Servers, the following settings are recommended:

  • MALLOCOPTIONS=buckets,considersize,multiheap:4 (matches number of physical processor cores)

For the Siebel File System the locking daemons need to be tuned to accommodate the threads and avoid delays in storing and retrieving files. Set rpc.lockd to 511 using the following two steps:

  1. chssys -s rpc.lockd -a 511
  2. stopsrc -s rpc.lockd; startsrc -s rpc.lockd

Care must be exercised if virtualization is deployed and the number of available processors is allowed to vary. One customer had significant issues with Product Configurator when the number of processors available was variable. Other components may or may not have similar issues. Siebel is not tested in virtualized environments. Please see primary Note: Deploying Siebel Software on Virtualized Environments (VMs) (Doc ID 1307968.1) for details on virtualization support.

For Siebel Web Servers, the following settings are recommended for AIX 7.x and later:

  • AIXTHREAD_SCOPE=S
  • AIXTHREAD_MUTEX_DEBUG=OFF
  • AIXTHREAD_RWLOCK_DEBUG=OFF
  • AIXTHREAD_COND_DEBUG=OFF
  • CORE_NAMING=true
  • YIELDLOOPTIME=4 (at least the number of processor cores)
  • SPINLOOPTIME=1000
  • LDR_CNTRL=@PREREAD_SHLIB@MAXDATA=0x80000000
  • LOADPUBLIC is obsolete

Recommended setting: For AIXTHREAD_MNRATIO: for AIX 7.x and later releases, the default is 1:1 and this does not need to be explicitly set on the web server.

For Siebel Web/Application Interface Servers, the following settings are recommended:

MALLOCOPTIONS=buckets,considersize,multiheap:4 (at least the number of physical processor cores)

Settings for Apache-Based Servers for Siebel Application Interface Servers Prior to IP2017

For Siebel Application Interface Servers prior to IP2017, the following Apache-based server settings are recommended:

  • ThreadLimit: Set equal to ThreadsPerChild Notee: This parameter must be set first in the "IfModule worker.c" section.
  • MaxClients; Set to exceed the expected maximum load on the server rounded up to an even multiple of threads per child. Under no circumstances should the system be left without sufficient clients.
  • ThreadsPerChild: Usually set to equal MaxClients
  • ServerLimit: 1
  • StartServer: 1
  • MinSpareThreads: Set to the greater of "25" or 10% of MaxClients integer. Since IHS checks this value approximately once per second, MinSpareThreads should safely exceed the number of new requests you might receive in a second.
  • MaxSpareThreads: Set MaxSpareThreads to 25-30% of MaxClients. If it is too small a fraction of MaxClients, child processes will be terminated and recreated frequently.
  • MaxRequestsPerChild: Leave at the default of 0 for: Set recent releases.

To configure the Siebel thread stack size on the Siebel Application Interface Server prior to IP2017, for all AI servers except Oracle HTTP Server, open a new shell and execute a command similar to the following (this example sets the thread stack size to 64 KB):

C Shell: setenv SIEBEL_OSD_PTHREAD_STACK_SIZE 65536

Korn or Bourne Shell: export SIEBEL_OSD_PTHREAD_STACK_SIZE=65536

Stop the Web server.

Start the Web server.

After changing AIX parameters, running cleansync to replace the OSDF files is necessary.