Systems based on Unix (including AIX, Solaris, and Linux) may have configuration requirements. In addition to configuring the FairCom Server, the operating system itself may need to be configured. For example, the number of file descriptors must be large enough to accommodate the number of files the FairCom Server will access, which can be larger than the operating system's default setting. Please be sure the limits listed below are sized appropriately for your installation.
User Limits (ulimit)
Verify that your Unix operating system ulimit settings are set according to the following specifications:
FILES + CONNECTIONS + c-tree internal files (11) + SQL internal files (at least 1 per SQL connection)
FILES = the FILES keyword set in ctsrvr.cfg.
CONNECTIONS = The CONNECTIONS keyword setting in ctsrvr.cfg.
c-tree internal files (11) = These are internal files opened immediately by the FairCom Server on startup and include CTSTATUS.FCS, FAIRCOM.FCS, ctsrvr.cfg, etc.
CONNECTIONS + ctree internal users (25) + Java internal users (approximately 20)
CONNECTIONS = The CONNECTIONS keyword setting in ctsrvr.cfg.
"c-tree internal users" = internal operating system threads
"Java internal users" = internal operating system threads consumed by the Java Virtual Machine (JVM) layer
unlimited
unlimited or larger than memory limits
unlimited
Kernel Limits
These are system-wide limits, so you must consider requirements of all processes system-wide. The FairCom Server shared memory requirements are:
kernel.shmmni = 2 + shared memory CONNECTIONS
kernel.sem (argument 4) = 2 + shared memory CONNECTIONS
# increase semaphore limits for c-tree shared memory. Allows 1022 connections if no other processes are using shared memory on the system.
kernel.sem = 250 32000 100 1024
# number of shared memory segments. Allows 1022 connections if no other processes are using shared memory on the system.
kernel.shmmni = 1024
For more about setting these limits, see Shared Memory Client-Server Communication for Unix/Linux.