【发布时间】:2012-01-07 08:05:08
【问题描述】:
我正在使用 Perl 开发一个相当大的企业应用程序,有数十个模块等,主要用于在网络上抓取一些东西。
我编写的子程序之一是进行图像检索和分析。对于我发送给它的每个参数,通常需要几秒钟才能完成。所以我将它发送到不同的进程(分叉......)。问题是,一段时间后系统变得非常不稳定,内存已满。
问题:
- 是不是因为创建的每个进程都会在单独的内存位置创建父数据的副本?如果是这样,这是否意味着每个孩子都拥有所有模块的副本? (而且有几十个……)
- 释放此内存/管理这些进程的最佳方法是什么?
【问题讨论】:
标签: perl memory process parallel-processing ipc