Php Beanstalkd如何管理内存?

Php Beanstalkd如何管理内存?,php,macos,beanstalkd,Php,Macos,Beanstalkd,我们刚刚开始在生产中使用beanstalkd,对它的性能印象深刻 我注意到它在内存管理方面做了一些特殊的事情。例如,我在PHP中创建了10万个作业,每个作业中都使用1111.013121212.121311作为数据。beanstalkd进程的内存使用量从大约300KB增加到18MB。几分钟后,内存下降到大约1.5MB,相同数量的作业仍然存在 Beanstalkd也没有在持久模式下运行 顺便说一句,虽然我们的服务器运行的是Ubuntu12.04,但我在Mac上。我在Mac上观察到了这一点,但还没有

我们刚刚开始在生产中使用
beanstalkd
,对它的性能印象深刻

我注意到它在内存管理方面做了一些特殊的事情。例如,我在PHP中创建了10万个作业,每个作业中都使用
1111.013121212.121311
作为数据。
beanstalkd
进程的内存使用量从大约
300KB
增加到
18MB
。几分钟后,内存下降到大约
1.5MB
,相同数量的作业仍然存在

Beanstalkd也没有在持久模式下运行

顺便说一句,虽然我们的服务器运行的是Ubuntu12.04,但我在Mac上。我在Mac上观察到了这一点,但还没有在我们的服务器上尝试过


这是因为Mac或Beanstalkd的内存压缩,还是Beanstalkd正在写入文件?这将有助于我们规划队列服务器的内存需求。

beanstalkd是一个内存队列,它只使用外部文件进行错误恢复(它可以将作业检查点设置为binlog,以便在崩溃时进行恢复)。因此,如果作业没有被删除,它们仍然在内存中


你是如何测量记忆使用的?beanstalkd进程虚拟大小是否也会缩小?内容是否已被分页到磁盘,因此不再显示为常驻?(或在“使用的物理内存”下)

它们已被调出,我们之前没有注意到。谢谢