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