亲宝软件园·资讯

展开

php中unable to fork报错怎么解决 php中unable to fork报错简单解决办法

十一 人气:0
想了解php中unable to fork报错简单解决办法的相关内容吗,十一在本文为您仔细讲解php中unable to fork报错怎么解决的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:php,报错,下面大家一起来学习吧。

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

限制linux用户的进程数

修改以下文件

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

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

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

查看各系统用户的进程数

ps h -Led -o user | sort | uniq -c | sort -n
2 nobody
3 redis
34 www
64 mysql
174 root

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

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

问题原因分析:

问题原因

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

加载全部内容

相关教程
猜你喜欢
用户评论