PHP疑似内存泄漏问题

0

现在线上是用的Gateway,分布式架构,Register,Connect,Worker都分开容器部署,现在有个很奇怪的现象,关于worker进程的容器主机内存会一直持续增长,连续跑3天 内存使用多占了2个G,但是系统监控和atop查看到 整个php的worker进程一直都是在 300-400M左右,总之都不会超过1G,但是我一旦重启worker进程之后立马可用内存多出来2个G。。。。。,完全找不到头绪,进程内存占用比较少,没有看到明显增长,但是一旦重启进程缺能释放很多内存空间出来


求大佬分析一下可能的原因

已邀请:

blogdaren - 常年游走于 Linux、PHP、C、VIM 之间【http://www.phpcreeper.com】

赞同来自:

walkor大大关于内存泄漏的可能原因写的很详细,据此自查:
https://wenda.workerman.net/question/3307

z54123321

赞同来自:


贴一张status,BK进程是核心的业务进程,里面就有我所说的静态数组作为数据缓存点,这些数组都是直接set不存在一直累加


剩下的rabbit那个是消息队列处理一些异步任务,内部没有静态变量,阻塞的原因rabbit需要wait判断新的消息


这样的容器还有好几个,整体400M是包括了其他的这样的worker业务容器还有connect容器


现在的问题是自己主机上查看或者云监控上看着,这些容器内存占用都比较稳定,统计的结果加起来都不会超过500M(关注一下这里)


但是运行几天后整个主机的内存一直在慢慢消耗,没有释放


一旦我去重启这些worker进程的容器或者说直接采用reload的方式去控制重启进程,都会释放出大量的内存(2G+)
400M->2G
这些内存究竟是从哪来的?

要回复问题请先登录注册