2 Installing Eloquence on the HP-UX platform

Configuring the HP-UX system

After installing the Eloquence software, configuration of your HP-UX system is required:

Configure Kernel limits

Eloquence requires kernel resources such as files, locks, semaphores and shared memory segments. The HP-UX kernel can be configured to the requirements of the applications. This is done by tuning kernel parameters and building a new kernel with SAM.

Eloquence resource requirements depend on configuration and usage:

In order to estimate the required kernel resources, you should estimate the number of active users, the number of running eloqcore processes and the number of active data base sessions (probably the same as the number of eloqcore processes) and use the data provided above to calculate the total requirements for Eloquence.

The next step is to use those values to tune the kernel parameters. Please keep in mind that other processes use kernel resources as well, so be generous. Please refer to the HP-UX administration documentation for a complete reference and more information on kernel parameters.

Citing the SAM online documentation on kernel parameters:

Certain kernel operating parameters can be configured to fit specific system needs, resulting in better performance or more effective allocation of resources. The ideal value for each parameter is often determined by the system's particular hardware configuration, the specific mix of applications the system runs, and the trustworthiness of system users; factors that vary widely from system to system.

HP attempts to provide reasonable default parameter settings, but you may find it necessary or beneficial to modify these settings to better suit the needs of your particular system's users. Use the list below to obtain detailed information about each configurable kernel parameter.

WARNING: Changing kernel parameters to improper or inappropriate values or combinations of values can cause data loss, system panics, or other operating anomalies, depending on which parameters are set to what values. Before altering the value of any configurable kernel parameter, be sure you know the implications of making the change. Never set any system parameter to a value outside the allowable range for that parameter (SAM refuses to store values outside of the allowable range). Many parameters interact, and their values must be selected in a balanced way.

Note that individual parameters usually pertain to a specific subsystem; some are independent, but others are interrelated or interact with each other. The following subsections are grouped according to subsystem.

Configuring the number of processes

The nproc kernel parameter specifies the maximum total number of processes that can exist simultaneously in the system. When the total number of processes in the system is larger than nproc, the system issues these messages:

At the system console:

proc: table is full
Also, if a user tries to start a new process from a shell, the following message prints on their terminal:

no more processes

Configuring the number of user processes

The maxuprc kernel parameter specifies the maximum number of simultaneous processes available to each user on the system. The HP-UX 10.x default is 50 which should usually be sufficient. A user is identified by the user ID number, not by the login instances.

If a user attempts to start a new process that would cause the total number of processes for that user to exceed maxuprc, the system issues an error message to the user:

no more processes
The maxuprc should be much smaller than the nproc parameter, otherwise a single user could use up all system resources (for example due to a program failure).

Configuring the number of ptys (pseudo ttys)

The npty kernel parameter specifies the maximum number of pseudo-ttys available on the system. The default value for HP-UX 10.x is 60.

After rasing this value you also need to create the new pty slave and master side device files in the /dev/pty and /dev/ptym directories. This can be done with insf(1m). Please note, that for npty values above 60 you have to specify the -n argument to insf.

HP-UX 9.x

cd /dev
/etc/insf -n 60 -d pty0
/etc/insf -n 60 -d pty1
HP-UX 10.x

/sbin/insf -n 60 -d pty

Configuring the number of files

The nfile parameter specifies the maximum number of files that can be open simultaneously on the system at any given time. Be generous with this number because the required memory is minimal, and not having enough restricts system processing capacity.

The ninode parameter specifies the maximum number of open inodes that can be in memory. Each unique open file has an open inode associated with it. Therefore, the larger the number of unique open files, the larger ninode should be.

Configuring the number of locks

The nflocks parameter specifies the number of file locks that are available system-wide. The HP-UX 10.x default value is 200.

Each DATA file opened within eloqcore needs a lock for each process. So this value should be adapted to the anticipated usage. Each eloqcore process can currently open up to 20 DATA files concurrently.

Configuring the number of shared memory segments

The shmmni parameter specifies the maximum number of shared memory segments allowed to exist simultaneously, system-wide. The HP-UX 10.x default is 200 which should be sufficient unless you have a big number of active users.

Setting shmmni to an arbitrarily large number wastes memory and can degrade system performance. Setting the value too high on systems with small memory configuration may consume enough memory space that the system cannot boot. Select a value that is close to actual system requirements for optimum memory usage. A value not exceeding 1024 is recommended unless system requirements dictate otherwise.

The shmseg parameter specifies maximum number of shared memory segments that can be simultaneously attached to a single process. The HP-UX 10.x default is 12.

If using IPC transport for the eloqdb5 and eloqdb6 servers, this value should be adapted to the max. number of concurrent local processes accessing a single server.

Configuring the number of semaphore sets

The semmni parameter defines the maximum number of semaphore sets that can exist simultaneously on the system. The HP-UX 10.x default is 64.

If using IPC transport for the eloqdb5 and eloqdb6 servers, it may be necessry to adapt this value according to the anticipated max. number of concurrent local eloqcore processes which access the eloqdb5 or eloqdb6 server.

The semmap parameter specifies the size of the free-space resource map used for allocating new System V IPC semaphores. The HP-UX 10.x default is semmni+2.

If semaphore usage is heavy and a request for a semaphore set cannot be accommodated, the following message appears:

danger: mfree map overflow
You should then configure a new kernel with a larger value for semmap.

The semmns parameter specifies the system-wide maximum number of individual semaphores that can be allocated. The HP-UX 10.x default is 128 which should usually be sufficient.

The semmnu parameter defines the maximum number of processes that can have undo operations pending on semaphores. The HP-UX 10.x default is 30.

If using IPC transport for the eloqdb5 and eloqdb6 servers, it may be necessary to adapt this value according to the anticipated max. number of concurrent local eloqcore processes which access the eloqdb5 or eloqdb6 server. A semaphore undo entry is required for each process accessing the eloqdb5 or eloqdb6 servers with using the IPC transport.

The semume parameter defines the maximum number of semaphores that a given process can have undo operations pending on. The HP-UX 10.x default is 10.

An undo is a special, optional, flag in a semaphore operation which causes that operation to be undone if the process which invoked it terminates. semume specifies the maximum number of semaphores that any given process can have undos pending on.

If using IPC transport for the eloqdb5 and eloqdb6 servers, it may be necessary to adapt this value according to the anticipated max. number of concurrent local eloqcore processes which access the eloqdb5 or eloqdb6 server. A semaphore undo entry is required for each process accessing the eloqdb5 or eloqdb6 servers with using the IPC transport.

Configure service names

You may want to define the Eloquence specific service names in your /etc/services file (if you are using NIS it is probably required to do this on the NIS master server). This is optional, as you can specify the port number directly instead of a service name.

Please add lines like below to your /etc/services file:

eloqsd    8100/tcp    # Eloquence A.06.00 eloqsd server
eloqdb    8102/tcp    # Eloquence A.06.00 eloqdb6 server
eloqdb5   8104/tcp    # Eloquence A.06.00 eloqdb5 server
runsrv    8010/tcp    # Eloquence RunSRV (Windows)
where the first column specifies the service name (eg. eloqsd) and the second column the associated port number and protocol (eg. 8100/tcp). The selected port numbers may not already be in use by another programs.

Configure Eloqunce server startup/shutdown

This is different bewteen the HP-UX 9.x and 10.x operating system:

Add a line like below to your /etc/rc configuration script:

# Start Eloquence eloqsd server
/opt/eloquence6/bin/eloqsd

# Start Eloquence eloqdb6 server
/opt/eloquence6/bin/eloqdb6

# In case you want to start Eloquence eloqdb5 server
# uncomment the line below
#/opt/eloquence6/bin/eloqdb5

The automatic server startup is configured in the Eloquence A.06.00 startup configuration file /etc/rc.config.d/eloquence6. For each server which should be handled automatically, the corresponding variable should be set to 1. For example, to handle the eloqdb6 server automatically, change the START_ELOQDB6 variable like below:

START_ELOQDB6=1

To start Eloquence servers manually enter the following command:

/sbin/init.d/eloq start

To stop Eloquence servers manually enter the following command:

/sbin/init.d/eloq stop


Eloquence Installation and Configuration - 19 DEC 2002