[PerlChina] perl的内存管理问题。
Qiang ( James ) Li
shijialee at gmail.com
Sat Mar 1 06:20:42 PST 2008
rorot wrote:
> 大家好,
>
> 我用perl的HTML::DOM 解析约7万个HTML页面内容。结果发现没解析2,000个左
> 右,脚本程序就出现一次崩溃。错误信息为内存占用过多,被操作系统杀死。
>
> 我不知道如何去DEBUG一个perl脚本,跟踪到底那部分没有释放内存。但是可
> 以肯定的是我的程序是运行一个sub foo()循环,这个sub里的new Object()都被我
> 调用过object->close(),也就是文档里说的destroy操作。为什么持续运行程序,
> 内存暴涨,从10M一直上升到580MB然后被操作系统杀死。。。
>
> 能告诉我如何去调试一个perl程序, 或者直接找出那里出现内存泄露吗? 或
> 者还是perl的内存管理释放内存的时间太慢???
>
先试试 truncatei 所说的.
关于 Perl 的 Profiling..
使用 Devel::DProf ( 或 Devel::Profiler ) , 这里是两篇介绍文章
http://www.perl.com/pub/a/2004/06/25/profiling.html
http://mailman.anu.edu.au/pipermail/perl.sig/2005-July/000011.html
另外还有 Devel::Leak::Object
如果还有问题,把相关的程序贴上来吧.
> rorot
> Mar/01/2008
>
>
Qiang
More information about the China-pm
mailing list