fork: Cannot allocate memory的解决办法

在一台跳板机上执行跳转时总是出现如下错误:

fork: Cannot allocate memory

或者

Failed to create child process: Cannot allocate memory

或者

No more processes

但是查看内存发现还是有很多内存可以用的。搜索了一下发现出现这个问题的原因可能不只是内存不足,也有可能时pid数量不够了。

$ ps -auxH | wc -l
32479
cat /proc/sys/kernel/pid_max
32768

系统上的线程数已经达到kernel设置的上限了。提高该上限可以解决问题。

$ echo 100000 > /proc/sys/kernel/pid_max

 

posted @ 2024-08-21 10:15  半山随笔  阅读(21)  评论(0编辑  收藏  举报