Netscape Calendar Server 4.0: Administrator's G uide

System Specific Parameters

This appendix details the modifications that must be made to certain parameters of the UNIX kernel in order to ensure sufficient resources are allocated to the Calendar Server.

 

Kernel parameters and the Calendar Server

The operating system parameters that are important to the Calendar Server are:

Table C.1 Relevant Kernel Parameters

Parameter Description

HP-UX 10 +

SunOS 5.x +

AIX 4.x +

IRIX 6.2 +

max. number of concurrent processes per user-ID

maxuprc

maxuprc

maxuprc

maxup

soft file limit per process

maxfiles

rlim_fd_cur

n/a

rlim_nofile_cur

hard file limit per process

maxfiles_lim

rlim_fd_max

n/a

rlim_nofile_max

max. number of concurrent processes

nproc

max_nprocs

n/a

nproc

max. number of open files

nfile

n/a

n/a

n/a

max. number of message queue identifiers

msgmni

msginfo_msgmni

n/a

msgmni

max. number of message headers

msgtql

msginfo_msgtql

n/a

msgtql

max. number of semaphore identifiers

semmni

msginfo_semmni

n/a

semmni

max. number of semaphores

semmns

msginfo_semmns

n/a

semmns

 

Adjusting System Parameters

As indicated above, the UNIX system parameters that need adjustment are used to control resource consumption on a user, process, or system-wide basis. In the case of either a user or a process parameter, the new value for the parameter should be the larger of the existing value or the Calendar Server requirement. In the case of a system-wide parameter, the Calendar Server requirement must be added to the existing value to calculate a new value.

Assume that Corporate-Wide Services is disabled and let the term "SONOFF" denote the maximum number of simultaneous log-ons and log-offs to the Calendar Server. Observe that under extreme situations, i.e. power failure, all Calendar Server sessions will be terminated in rapid succession. Thus, in the worst case "SONOFF" is as large as lck_users. The Calendar Server requires at least the following resources:

Table C.2 Calculating New Kernel Parameter Values

max. number of concurrent processes per user-id:

[ lck_users + sonoff + 10 ] processes (per-user) **

soft file limit per process:

[ db_files + 10 ] files (per-process)

hard file limit per process:

[ db_files + 10 ] files (per-process)

max. number of concurrent processes:

[ lck_users + sonoff + 10 ] processes (system-wide)

max. number of open files:

[ (lck_users + 1) * (db_files + 5) + 20 ] files (system-wide)

** maxuprc limitations only apply if the Calendar Server runs as the unison user

If Corporate-Wide Services is enabled, further resources are required:

The total resource requirements when Corporate-Wide Services are enabled:

Table C.3 Calculating New Kernel Parameter Values with CWS Enabled

max. number of concurrent processes per user-id:

[ lck_users + sonoff 20 ] processes (per-user) **

soft file limit per process:

[ db_files + 10 ] files (per-process)

hard limit per process:

[ db_files + 10 ] files (per-process)

max. number of concurrent processes:

[ lck_users + sonoff + 20 ] processes (system-wide)

max. number of open files:

[ (lck_users + 1) * (db_files + 5) + 40 ] files (system-wide)

** maxuprc limitations only apply if the Calendar Server runs as the unison user

Finally, consider the Message and Semaphore resource requirements of the Calendar Server, which are independent of Corporate-Wide Services:

Table C.4 Calendar Server Requirements

max. number of message queue identifiers:

[ lck_users + 1 ] message queue identifiers (system-wide)

max. number of message headers:

[ lck_users + 1 ] message headers (system-wide)

max. number of semaphore identifiers:

[ 1 ] semaphore identifier (system-wide)

max. number of semaphores:

[ 1 ] semaphore (system-wide)

The memory allocation in bytes as related to the Calendar Server Lock Manager daemon (unilckd):

400KB * lck_users

A final comment concerning the Calendar Server engine's daemon/servers uniengd: this executable has been compiled (cc) in share mode (-n) insuring that all concurrently executing copies of uniengd share a single instruction section (sometimes called "Program text segment"), thus saving memory.

Note
The system clock must be running and properly set for the proper function of the Calendar Server.

 

Adjusting the HP-UX Kernel Parameters

The following section describes the maximum kernel requirements, and as such should apply to most HP-UX installations. All of the above parameters can be modified via SAM, a menu-based system administration manager.

The assumptions concerning the Calendar Server unison.ini file parameters are:

In the NEW column below, the max function returns the maximum of the two entries.

Table C.5 HP-UX Kernel Parameters

Kernel Parameter

OLD

Calendar Server

NEW

maxfiles

X

25

max(25,X)

maxfiles_lim

X

25

max(25,X)

maxuprc

X

2*N+20

max((2*N+20),X)

nproc

X

2*N+20

(2*N+20)+X

nfile

X

20*N+60

(20*N+60)+X

msgmni

X

N

N + X

msgtql

X

N

N + X

semmni

X

1

1 + X

semmns

X

1

1 + X

The following is a actual example involving 500 users:

 

Adjusting the SunOS Kernel Parameters

SunOS provides tunable parameters for the kernel and kernel modules. While normally you should not need to change these parameters, there are special circumstances under which it is necessary. Under SunOS, kernel parameters are modified by directly editing the /etc/system file with a standard text editor like vi. All of the parameters are set using the following syntax:

e.g.:


set maxuprc=2641 

set max_nprocs=2636

In addition, the message queue and semaphore parameters must include the name of the specific module to be modified. The syntax is as follows:

e.g.:


set msgsys:msginfo_msgmni=351 

set semsys:seminfo_semmni=345

In order for the above changes to take effect, reboot the system with the '-r' flag.

To see a complete list of the tunable kernel parameters, run the nm command on the appropriate module. For example:

% /usr/ccs/bin/nm /kernel/unix

To see the current values assigned to the kernel parameters, use the sysdef command. For example:

% sysdef -i

In the NEW column below, the max function returns the maximum of the two entries.

Table C.7 SunOS Kernel Parameters

Kernel Parameter

OLD

Calendar Server

NEW

rlim_fd_cur

X

25

max(25,X)

rlim_fd_max

X

25

max(25,X)

maxuprc

X

2*N+20

max((2*N+20),X)

max_nproc

X

2*N+20

(2*N+20)+X

msgsys:msginfo_msgmni

X

N

N + X

msgsys:msginfo_msgtql

X

N

N + X

semsys:msginfo_semmni

X

1

1 + X

semsys:msginfo_semmns

X

1

1 + X

Note
The maximum number of open files is unlimited under SunOS, and therefore does not need to be set.

The following is an actual example with 500 users:

 

Adjusting the AIX Kernel Parameters

Unlike many other UNIX operating systems, AIX does not provide the ability to directly configure most kernel parameters. Instead, the AIX kernel dynamically allocates and reallocates resources as they are needed (up to a predefined limit).

For installations of Calendar Server, the only kernel parameter that should be altered is maxuprc (maximum number of processes per user-ID) which can be modified via SMIT (AIX's menu-based system administration utility) or the command line utility chdev.

To see a complete list of the parameters and their current values, run the lsattr command:

% /etc/lsattr -E -l sys0

To see the current values assigned to a particular kernel parameter, use the lsattr command with the parameter name. For example:

% /etc/lsattr -E -l sys0 -a maxuproc

To change the value of the maxuproc parameter, use the chdev command. For example:

% /etc/chdev -l sys0 -a maxuproc = 200

As stated above, the AIX kernel dynamically allocates and reallocates resources as they are needed up to a predefined limit. The known limits of the parameters are as follows:

Table C.9 AIX Kernel Parameters

Kernel Parameter Description

Upper Limit

soft file limit per process

2000

hard file limit per process

2000

max. number of concurrent processes per user-id:

configurable, cannot exceed 131,072

max. number of concurrent processes on the system

131,072

max. number of open files

200000

max. number of message queue identifiers

4096

max. number of message headers

unlimited; 8192 per message queue.

max. number of semaphore identifiers

4096

max. number of semaphores

unlimited; 65535 per semaphore id.

The practical limits of the Calendar Server, defined as the maximum number of concurrent users on a system, are effectively determined by the upper limits of the maximum number of open files. Assuming there are no other activity or resource requirements on the system, the maximum number of concurrent users (lck_users) under AIX is approximately 10000*20+60=200060.

 

Additional Reading

For more information on AIX Performance Tuning and Administration, please consult AIX Performance Tuning by IBM, Prentice Hall, 1996.

For more information on modifying the kernel parameters under SunOS, refer to Administering Security, Performance, and Accounting by Sun Microsystems, Inc.

HP-UX system parameters are described in Appendix A, System Parameters, of the HP-UX manual entitled System Administration Tasks.

An excellent source of general information on this topic is System Performance Tuning by Mike Loukides, O'Reilly & Associates, Inc., 1991.