Corporate Software & Technologies

TOC PREV NEXT INDEX



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

Kernel parameters and the CorporateTime Server

The operating system parameters that are important to the CorporateTime 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 CorporateTime Server requirement. In the case of a system-wide parameter, the CorporateTime 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 CorporateTime Server. Observe that under extreme situations, i.e. power failure, all CorporateTime Server sessions will be terminated in rapid succession. Thus, in the worst case "SONOFF" is as large as lck_users. The CorporateTime 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 CorporateTime 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
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 per user-id: [ lck_users + sonoff 20 ] processes (per-user) **
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 CorporateTime Server runs as the unison user

Finally, consider the Message and Semaphore resource requirements of the CorporateTime Server, which are independent of Corporate-Wide Services:
Table C 4 · CorporateTime 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 CorporateTime Server Lock Manager daemon (unilckd):

400KB * lck_users

A final comment concerning the CorporateTime 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 CorporateTime 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 CorporateTime 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 CorporateTime 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 CorporateTime 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:

Table C 8 · SunOS Kernel Parameters (example)
Kernel Parameter OLD CorporateTime 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 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 most kernel parameters. Instead, the AIX kernel dynamically allocates and reallocates resources as they are needed (up to a predefined limit).

For installations of CorporateTime 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 CorporateTime 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.


Corporate Software & Technologies
http://www.cst.ca
Voice: (514) 733-8500
Fax: (514) 733-8878
info@cst.ca
TOC PREV NEXT INDEX