php中unable to fork报错简单解决方法

时间:2021-05-26

今天小编遇到一个问题,当调用了system方法,并且执行了shell脚本,开始的时候,一切都非常正常,但是当程序运行后一段时间,出现了显示unable to fork的报错,这个是什么原因呢,后来小编排查了下,主要是因为达到用户的进程上限了,下面小编给大家介绍下解决方式。

限制linux用户的进程数

修改以下文件

vi /etc/security/limits.confvpsee hard nproc 32@student hard nproc 32@faculty hard nproc 64

ulimit 不带 -H 和 -S 参数的时候同时设置 Hard 和 Soft

ulimit -u65535ulimit -u 65534ulimit -u 65535-bash: ulimit: max user processes: cannot modify limit: Operation not permittedulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals (-i) 30493max locked memory (kbytes, -l) 64max memory size (kbytes, -m) unlimitedopen files (-n) 65535pipe size (512 bytes, -p) 8POSIX message queues (bytes, -q) 819200real-time priority (-r) 0stack size (kbytes, -s) 10240cpu time (seconds, -t) unlimitedmax user processes (-u) 65534virtual memory (kbytes, -v) unlimitedfile locks (-x) unlimited

查看各系统用户的进程数

ps h -Led -o user | sort | uniq -c | sort -n2 nobody3 redis34 www64 mysql174 root

确定某用户的进程数的分布情况

ps -o nlwp,pid,lwp,args -u username | sort -n

问题原因分析:

问题原因

system调用会fork新的进程,因为每个用户有最大进程数限制,简单的说就是达到用户的进程上限了

到此这篇关于php中unable to fork报错简单解决方法的文章就介绍到这了,更多相关php中unable to fork报错怎么解决内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章