System Specific Parameters
[Previous] [Next] [First] [Last]

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 parameters that are important with respect 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 per-user, per-process, or system-wide basis. In the case of either a per-user or a per-process parameter, the new value for the parameter should be the larger of the existing value and the Calendar Server requirement. On the other hand, in the case of a system-wide parameter, the Calendar Server requirement must be added to the existing value to calculate the new value.

Begin by assuming that Corporate-Wide Services is disabled. Furthermore, let 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 the Calendar Server sessions will be terminated in rapid succession. Hence, 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 are:


 
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

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

Note:
In order for the Calendar Server to function properly, the system clock must be running and properly set.

Adjusting the HP-UX Kernel Parameters

The following describes the maximum kernel requirements, and as such will suffice for 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 + X

semmns 

X

1

1 + X

The following is a actual example involving 500 users:


 
Table C.6  HP-UX Kernel Parameters (example) 
Kernel Parameter  OLD  Calendar Server  NEW 

maxfiles

X

25 

max(25,X)

maxfiles_lim

X

25

max(25,X)

maxuprc 

X

1020

max((1020),X)

nproc

X

1020

1020+X

nfile

X

10060

10060+X

msgmni

X

N

N + X

msgtql

X

N

N + X

semmni 

X

1 + X

semmns 

X

1

1 + X

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 + 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 a actual example involving 500 users:


 
Table C.8  SunOS Kernel Parameters (example) 
Kernel Parameter  OLD  Calendar Server  NEW 

rlim_fd_cur

X

25 

max(25,X)

rlim_fd_max

X

25

max(25,X)

maxuprc 

X

1020

max(1020,X)

max_nproc

X

1020

1020+X

msginfo_msgmni

X

N

N + X

msginfo_msgtql

X

N

N + X

msginfo_semmni 

X

1 + X

msginfo_semmns 

X

1

1 + X

Adjusting the AIX Kernel Parameters

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

The only tunable kernel parameter 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 is no other activity or resource requirements on the system, the maximum number of concurrent users (lck_users) under AIX is approximately 10000*.

*10000*20+60=200060
 

Adjusting the IRIX Kernel Parameters

The standard IRIX system configuration is designed for a broad range of uses, and adjusts itself to operate efficiently under all but the most unusual and extreme conditions.

To tune the kernel under IRIX, use the systune command to change parameter values or make the change(s) in the master.d directory if the variable is not tunable through systune. If the systune command is used, the new kernel will be automatically created. When the parameters are changed without using systune, the command autoconfig must be used to generate a new kernel. As a standard precautionary measure, always copy the existing kernel to a safe place before you reboot as the system will overwrite the current kernel (/unix) with the kernel you have just created (/unix.install).
 
File/Directory Purpose
/var/sysgen/system/* Directory containing files defining software modules
/var/sysgen/master.d Directory containing files defining kernel switches and  parameters
/var/sysgen/mtune/* Directory containing files defining more tunable  parameters
/var/sysgen/stune File defining default parameter values.
/var/sysgen/boot/* Directory of object files
/unix File containing kernel image
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  IRIX Kernel Parameters 
Kernel Parameter  OLD  Calendar Server  NEW 
rlim_nofile_cur X 25  max(25,X)
rlim_nofile_max X 25 max(25,X)
maxup  X 2*N+20 max((2*N+20),X)
nproc X 2*N+20 (2*N+20)+X
msgmni X N N + X
msgtql X N N + X
semmni  X 1 + X
semmns  X 1 1 + X
 

The following is a actual example involving 500 users:

 
Table C.6  IRIX Kernel Parameters (example) 
Kernel Parameter  OLD  Calendar Server  NEW 
rlim_nofile_cur X 25  max(25,X)
rlim_nofile_max X 25 max(25,X)
maxup  X 1020 max((1020),X)
nproc X 1020 1020+X
msgmni X N N + X
msgtql X N N + X
semmni  X 1 + X
semmns  X 1 1 + X
 

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.

Consult SGI's on-line help for more information on IRIX performance tuning.

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



[Previous] [Next] [First] [Last]