.
contact contact

B.08.10 / Release Notes / Installation

HP-UX Kernel Parameters

 
.
  Eloquence B.08.10 may require the configuration of additional HP-UX kernel parameters or change previously configured kernel parameters.
  • The Eloquence B.08.10 database requires on the HP-UX evp driver enbled in the kernel configuration. The following commands may be used to verify if the evp driver is configured:
    lsdev -C pseudo | grep evp
    ls /dev/poll
    
    If the evp driver is configured it is listed in the lsdev output and the /dev/poll device file is present. If not, the evp driver needs to be enabled in the kernel configuration or the database server will not start.

  • As of Eloquence B.08.00 the database server now uses HP-UX OS level threads, configuration of some thread related kernel parameters is required. This affects the max_thread_proc and nkthread kernel parameters.

  • When IPC communicaton is used with the database server (enabled by default) Eloquence B.08.00 and newer differ in SYSV semaphore use.

    Previous Eloquence releases used a separate semaphore set with a single semaphore for each active database connection.

    As of B.08.00 a separate semaphore set with two semaphores is used for each active connection. This may require updating the semmns kernel parameter.

  • The Eloquence B.08.00 database server may use additional memory for the same configuration. Some of the internal data structures now include additional lock objects and existing lock objects have grown in size. Also, the stack size for internal threads has grown noticeably. This may require increasing the maxdsiz kernel parameter for the 32 bit database server.

    Please note that for B.07.10 the internal stack for each worker thread was allocated on database server startup. As of B.08.00 the thread stack is allocated upon establishing the connection.

  • When using the 64 bit database server with B.08.10 the maxdsiz_64bit kernel parameter may need to be configured. Please notice that the 64 bit database server has higher memory requirements than the 32 bit server (using the same configuration).

    Also, the configured buffer cache size must be considered in the maxdsiz_64bit kernel parameter. This is different from the 32 bit database server where the buffer cache is not allocated from the data size.

The following kernel parameters may need to be changed when updating from B.07.10 to B.08.10:

max_thread_proc
max_thread_proc limits the maximum number of concurrent threads allowed per process on the system. max_thread_proc needs to be set to at least the highest number of configured database connections serviced by any B.08.10 database server (threads= config item) plus 10.

nkthread
The nkthread tunable controls the absolute number of threads allowed on a system at any given time. Increasing it will allow more threads, and lowering it will restrict the number of threads.

It can be determined that nkthread is too low when the kthread: table is full message is seen in the message buffer. The message can be read via dmesg or syslog. This message indicates that an application was unable to create a thread.

nkthread needs to be set to at least the sum of all configured database connections serviced by an B.08.10 database server (threads= config item, system wide) plus 10 per instance.

nkthread interacts with the nproc kernel parameter and must be greater than nproc + 100. nkthread must also be greater than max_thread_proc.

semmns
The semmns tunable specifies the maximum total individual System V IPC system-wide semaphores which can be assigned by applications.

As of B.08.00 a separate semaphore set with two semaphores is used for each active connection when using IPC communication (enabled by default). This may require updating the semmns kernel parameter.

maxdsiz
The maxdsiz, maxdsiz_64bit kernel parameters limit the maximum size (in bytes) of the data segment for any user process. The maxdsiz parameter applies to 32 bit processes and the maxdsiz_64bit parameter applies to 64 bit processes. The maxdsiz default is 1 GB, the maxdsiz_64bit defaults to 4 GB.

For a 32 bit database server process, a min. size of at least 1 GB is recommended to avoid memory allocation problems for larger configurations. For a 32 bit database server, the size limit configured by maxdsiz does not include the buffer cache (configured with the BufferCache= config item).

This parameter might need to be increased if you are running the 32-bit database server and want to configure large Threads= values in your eloqdb.cfg settings.

HP-UX on PA-RISC uses 64 KB stack size per thread, HP-UX on Itanium uses 256 KB stack size per thread.

Note, however, that the maxdsiz address space not only needs to accommodate the thread stacks and additional structures describing the buffer cache for your Threads and BufferCache settings. The server also needs space for its own variables, for example. So be generous.

maxdsiz_64bit
The maxdsiz, maxdsiz_64bit kernel parameters limit the maximum size (in bytes) of the data segment for any user process. The maxdsiz parameter applies to 32 bit processes and the maxdsiz_64bit parameter applies to 64 bit processes. The maxdsiz default is 1 GB, the maxdsiz_64bit defaults to 4 GB.

For a 64 bit database server, the size limit configured by maxdsiz_64bit does include the buffer cache (configured with the BufferCache= config item).

This parameter might need to be increased if you are running the 64-bit database server and want to configure large BufferCache (or Threads) values in your eloqdb.cfg settings.

HP-UX on PA-RISC uses 64 KB stack size per thread, HP-UX on Itanium uses 256 KB stack size per thread.

Note, however, that the maxdsiz_64bit address space not only needs to accommodate the thread stacks and buffer cache for your Threads and BufferCache settings. The server also needs space for its own variables, for example. So be generous.


 
 
 
  Privacy | GDPR / DSGVO | Webmaster | Terms of use | Impressum Revision: 2009-04-21  
  Copyright © 1995-2024 Marxmeier Software AG