记录一下今天踩的坑.
同事构建了一个服务后到开发环境, 之后整台服务器就一直抛错, CPU
狂飙, 16核的机器负载上到 七八百.
发现问题后, 第一时间将开发环境 superver 服务 stop all
.
全部停止后发现 让然存在很多子进程未杀死
ps -ef |grep -i swoole |awk '{print $2}' |xargs kill -9
全部swoole
进程杀死后,等待1分钟 , top
检测负载降了下来. 重启服务.
supervisorctl start all
重启后查看 supervisorctl status
, 一直存在部分服务重启失败.
嘿嘿, 抛错 fork: retry: No child processes
查看 ulimit -a
, max user processes (-u) 4096
很明显 dev1
开发账户控制的进程数超出上限了.
ulimit -u 10000
果然, 执行指令 就ok了, 不在抛错了.