SYMPTOMS
Apache cannot be started, error_log reports the following errors:Sun Jul 22 16:54:32 2007] [emerg] (12)Cannot allocate memory: mod_fcgid: Create process manager error
[Mon Jul 23 08:30:35 2007] [error] (28)No space left on device: Cannot create SSLMutex Configuration Failed
CAUSE
These errors mean that there is no available IPC (inter-process communication) resources in the system, such as semaphores or shared memory segments.RESOLUTION
How much IPC resources are used can be found using 'ipcs' command:# ipcs -a To solve this problem you can restart Apache, Postgres and other services that consumer many IPC resources or increase limit of the resources in the system using 'sysctl'. When you stop all services the semaphores and shared memory segments have to be removed, if not, and you still able to see them using 'ipcs' command, try to remove them manually using 'ipcrm' command. For example to remove semaphore:
# ipcs -a
...
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 201293824 apache 600 1
...
# ipcrm -s 201293824
See 'man ipcrm' for more information.
Below is the example how to increase number of semaphores on Fedora Core 4.
get current semaphores value:
# /sbin/sysctl -a | grep sem
kernel.sem = 200 32000 32 128 set new value:
# /sbin/sysctl -w kernel.sem=250 add new value into /etc/sysctl.conf in order the changes persist after system boot:
kernel.sem = 200