php中unable to fork报错简单解决方法
今天小编遇到一个问题,当调用了system方法,并且执行了shell脚本,开始的时候,一切都非常正常,但是当程序运行后一段时间,出现了显示unabletofork的报错,这个是什么原因呢,后来小编排查了下,主要是因为达到用户的进程上限了,下面小编给大家介绍下解决方式。
限制linux用户的进程数
修改以下文件
vi/etc/security/limits.conf vpseehardnproc32 @studenthardnproc32 @facultyhardnproc64
ulimit不带-H和-S参数的时候同时设置Hard和Soft
ulimit-u 65535 ulimit-u65534 ulimit-u65535 -bash:ulimit:maxuserprocesses:cannotmodifylimit:Operationnotpermitted ulimit-a corefilesize(blocks,-c)0 datasegsize(kbytes,-d)unlimited schedulingpriority(-e)0 filesize(blocks,-f)unlimited pendingsignals(-i)30493 maxlockedmemory(kbytes,-l)64 maxmemorysize(kbytes,-m)unlimited openfiles(-n)65535 pipesize(512bytes,-p)8 POSIXmessagequeues(bytes,-q)819200 real-timepriority(-r)0 stacksize(kbytes,-s)10240 cputime(seconds,-t)unlimited maxuserprocesses(-u)65534 virtualmemory(kbytes,-v)unlimited filelocks(-x)unlimited
查看各系统用户的进程数
psh-Led-ouser|sort|uniq-c|sort-n 2nobody 3redis 34www 64mysql 174root
确定某用户的进程数的分布情况
ps-onlwp,pid,lwp,args-uusername|sort-n
问题原因分析:
问题原因
system调用会fork新的进程,因为每个用户有最大进程数限制,简单的说就是达到用户的进程上限了
到此这篇关于php中unabletofork报错简单解决方法的文章就介绍到这了,更多相关php中unabletofork报错怎么解决内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!