SymptomsApache 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
CauseThese errors mean that there are no available IPC (inter-process communication) resources in the system, such as semaphores or shared memory segments.
ResolutionCurrent usage of IPC resources can be found using the "ipcs" command:
# ipcs -a
To solve this problem, you can restart Apache, Postgres, and other services that consume many IPC resources, or increase the 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 they are not, and you are still able to see them using the "ipcs" command, try to remove them manually using the "ipcrm" command. For example, to remove semaphores:
# 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 an example of how to increase the 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" so that changes persist after system boot:
kernel.sem = 200