Error Description
Log contains the error message "fork: Cannot allocate memory".
Common Causes
There are too many processes. If a new process is created after the pid_max
value is reached, the error message "fork: Cannot allocate memory" will appear.
Solution
1. Check the memory utilization as instructed in Steps. 2. Check the number of processes and modify the pid_max
configuration.
Steps
1. Check the memory utilization as instructed in High Memory Utilization. If the memory utilization is normal, proceed to the next step. 2. Run the following command to obtain the value of pid_max
.
Perform corresponding operations according to the returned result:
If the returned result is as shown below, where the default value of pid_max
is 32768, go to the next step.
If the error message "fork: Cannot allocate memory" is returned, run the following command to temporarily increase pid_max
.
echo 42768 > /proc/sys/kernel/pid_max
Run the following command again to get the value of pid_max
.
3. Run the following command to view the total number of processes.
When the total number of processes has reached pid_max
, a new process will cause the "fork: Cannot allocate memory" error.
Note:
You can use the ps -efL
command to locate the programs for which many processes are running.
4. Change the kernel.pid_max
value in the /etc/sysctl.conf
configuration file to 65535
to increase the number of processes. The result should be as follows:
5. Run the following command for the configuration to take effect immediately.
Was this page helpful?