|
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.
|
|