swoole多进程使用过程中,主进程内存不断变大何解?

发布于 2022-09-04 03:22:10 字数 408 浏览 12 评论 0

目前业务需要实现一个时时分析数据流的功能,需要精确到秒级别,原本打算用swoole task实现一个任务服务,但是目前还没有对应的机器跑服务端,所以暂时决定用swoole 的多进程模型结合swoole 的timer实现,过程中遇到一个父进程,内存占用不断飙升的问题,求解?
其中代码逻辑是,在父进程中创建6个swoole_process,通过swoole_timer隔一秒钟分发任务给空闲的子进程,并标记该进程为忙碌状态,子进程处理完任务后与父进程通过管道通信,通知父进程当前进程处于空闲状态,通过父子之间的通信,起到类似"父进程维护一个子进程池"的效果,其中某个进程空闲超过一段时间或者超过一定处理任务数,父进程即可通知该进程销毁并拉起新的子进程。代码逻辑大概这样,但是遇到的问题是父进程的内存占用逐渐变大,请问swoole大神们该如何解决?是不是因为父进程维护这个类似子进程池导致的呢?请赐教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

棒棒糖 2022-09-11 03:22:10

父进程内存泄漏了,某些全局变量数组未即时释放内存导致的。检查你的代码。

情归归情 2022-09-11 03:22:10

我项目也遇到了这个问题,不知道导致的原因是否一样,写成了文章,可以参考一下解决办法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文