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

php中文网
发布: 2016-12-01 00:56:43
原创
2104人浏览过

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

回复内容:

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

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

豆包AI编程
豆包AI编程

豆包推出的AI编程助手

豆包AI编程 483
查看详情 豆包AI编程
相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号