我运行的是Gearman 1.1.12版本。我有2 PHP工作人员被请求频率(每分钟约60次)。通过核对统计数据,我发现目前的工人人数完全足够做这项工作。(大多数情况下,每个worker的队列中等待的作业数为0)。
问题是,我已经注意到内存消耗。在对worker的每个请求中,该worker的内存使用不断增长,每个worker在一分钟(60秒)内最多可使用25mb内存。
例如:- 1请求:2Mb.
- 2请求:2.5Mb.
- 3请求:3Mb
等等
我在返回结果之前取消了在该函数中声明的每个变量,但似乎它也没有帮助..
这是正常行为吗?如果是,我该如何处理?用一些脚本杀死这些工人频率并创建一个新的?
如果我理解正确的话,这是一个正常的行为,当工作进程消耗内存时,因为他们保留它,并且直到工作进程重新启动才释放它。
: https://groups.google.com/forum/!主题/gearman gtkIZ0yFypY
我也认为它可以很好地处理使用GearmanManager,它能够在一些定义的时间间隔后重新启动工人。