php中unable to fork報錯簡單解決方法
今天小編遇到一個問題,當調(diào)用了system方法,并且執(zhí)行了shell腳本,開始的時候,一切都非常正常,但是當程序運行后一段時間,出現(xiàn)了顯示unable to fork的報錯,這個是什么原因呢,后來小編排查了下,主要是因為達到用戶的進程上限了,下面小編給大家介紹下解決方式。
限制linux用戶的進程數(shù)
修改以下文件
vi /etc/security/limits.confvpsee hard nproc 32@student hard nproc 32@faculty hard nproc 64
ulimit 不帶 -H 和 -S 參數(shù)的時候同時設置 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
查看各系統(tǒng)用戶的進程數(shù)
ps h -Led -o user | sort | uniq -c | sort -n2 nobody3 redis34 www64 mysql174 root
確定某用戶的進程數(shù)的分布情況
ps -o nlwp,pid,lwp,args -u username | sort -n
問題原因分析:
問題原因
system調(diào)用會fork新的進程,因為每個用戶有最大進程數(shù)限制,簡單的說就是達到用戶的進程上限了
到此這篇關(guān)于php中unable to fork報錯簡單解決方法的文章就介紹到這了,更多相關(guān)php中unable to fork報錯怎么解決內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET MVC使用jQuery ui的progressbar實現(xiàn)進度條2. Python 利用Entrez庫篩選下載PubMed文獻摘要的示例3. python使用jenkins發(fā)送企業(yè)微信通知的實現(xiàn)4. Python 合并拼接字符串的方法5. Python 制作查詢商品歷史價格的小工具6. ASP基礎知識VBScript基本元素講解7. Python sublime安裝及配置過程詳解8. Linux刪除系統(tǒng)自帶版本Python過程詳解9. Python 如何調(diào)試程序崩潰錯誤10. Python3 json模塊之編碼解碼方法講解

網(wǎng)公網(wǎng)安備