


Acushare's use of UNIX system resources may be of concern to some sites. Therefore, the following information is provided to give UNIX System Administrators the information they need to tune their UNIX kernel parameters. Refer to your UNIX documentation for more information on these parameters.
The maximum size of a message sent or received by acushare is 110 bytes. The minimum size of a message is 20 bytes.
Kernel parameters for the acushare message queue
The following parameters should be defined in the file "msg.h", which is typically located in the "/usr/include/sys" directory. This location may be different on your system. Refer to your UNIX documentation for more information.
MSGPOOL is the size in kilobytes of the message pool. This determines the maximum message size. The recommended setting for MSGPOOL is at least 1.
MSGMNB is the maximum number of bytes on a queue. This determines how many messages can be queued when sent to or received from acushare. The recommended setting for MSGMNB is the maximum number of concurrent users divided by 30. For example, if you have 100 concurrent users, MSGMNB should be set to at least 3000. This would allow fifty users to simultaneously send a 60-byte message to acushare.
MSGMNI is the number of message queue identifiers. This setting depends on the number of applications using message queues on your system. acushare only requires one message queue. A recommended value for MSGMNI is 50.
MSGTQL is the number of system message queue headers. A recommended value is 50.
MSGSSZ is the message segment size in bytes. It must be a multiple of the machine's word size (usually 4 bytes). Each message must be a multiple of MSGSSZ bytes. It has been reported that if MSGSSZ is set to a value greater than 4, the system may corrupt memory when acushare or the runtime receive a message. This is one possible explaination of "Unexpected acushare error" messages and other acushare fatal errors. Therefore, the recommended setting is 4.
Kernel parameters for shared memory
The following parameters should be defined in the file "shm.h", which is typically located in the "/usr/include/sys" directory. This location may be different on your system. Refer to your UNIX documentation for more information.
SHMSIZE is the maximum shared memory segment size in kilobytes. This value will determine the maximum size of a COBOL program whose code can be shared using acushare.
The acushare report feature (i.e. when run with no command line options) uses a 32767 byte buffer in shared memory. This means that SHMSIZE must be at least 32 kilobytes. The recommended setting for SHMSIZE is at least 1024 (1 megabyte of shared memory).
SHMMNI is the number of shared memory identifiers system wide. If acushare is reporting more total shared memory requests than shared memory requests satisfied, it indicates that SHMMNI is too small. Set SHMMNI to at least the maximum number of concurrent users multiplied by the maximum number of shared COBOL programs each user will try to call. The recommended setting for SHMMNI is at least 100.
SHMMIN is the minimum shared memory segment size. This must be set to 8 or less. The recommended setting for SHMMIN is 1.
SHMMAX is the maximum shared memory segment size in bytes. This should be SHMSIZE multiplied by 1024.