博客列表 >php中unable to fork报错简单解决方法

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

P粉896289085
P粉896289085原创
2022年03月24日 09:31:03578浏览

在本篇内容里小编给大家整理的是一篇关于php中unable to fork报错简单解决方法,对此有兴趣的朋友们可以跟着学习下。

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

  1. vi /etc/security/limits.conf
  2. vpsee hard nproc 32
  3. @student hard nproc 32
  4. @faculty hard nproc 64

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

  1. ulimit -u
  2. 65535
  3. ulimit -u 65534
  4. ulimit -u 65535
  5. -bash: ulimit: max user processes: cannot modify limit: Operation not permitted
  6. ulimit -a
  7. core file size (blocks, -c) 0
  8. data seg size (kbytes, -d) unlimited
  9. scheduling priority (-e) 0
  10. file size (blocks, -f) unlimited
  11. pending signals (-i) 30493
  12. max locked memory (kbytes, -l) 64
  13. max memory size (kbytes, -m) unlimited
  14. open files (-n) 65535
  15. pipe size (512 bytes, -p) 8
  16. POSIX message queues (bytes, -q) 819200
  17. real-time priority (-r) 0
  18. stack size (kbytes, -s) 10240
  19. cpu time (seconds, -t) unlimited
  20. max user processes (-u) 65534
  21. virtual memory (kbytes, -v) unlimited
  22. file locks (-x) unlimited

查看各系统用户的进程数

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

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

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

问题原因分析:
问题原因
system调用会fork新的进程,因为每个用户有最大进程数限制,简单的说就是达到用户的进程上限了
到此这篇关于php中unable to fork报错简单解决方法的文章就介绍到这了。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议