当前位置:  开发笔记 > 编程语言 > 正文

如何追踪mod_perl内存泄漏?

如何解决《如何追踪mod_perl内存泄漏?》经验,为你挑选了0个好方法。

我正在使用mod perl 1.3.0和apache 1.3.41 perl版本5.8.6,内存大小似乎每3或4次请求增加大约4k.我们运行的Perl脚本很简单:

print "Content-type: text/html\n\n";  print "baby";

然而,当我们用apache基准测试时,apache进程只会增长和增长.我们正在努力:

ab -n 100000 -c 1 http://localhost/search/search.cgi &> /dev/null

我们观察到,在大约20000个请求之后,进程大小从大约4兆字节增长到24小时.

要回答以下问题:我们在redhat enterprise 4.7上这样做.因为我们点击了一个静态文件,或一个直接的cgi请求而内存没有增长,所以它被单独列出了.当我们使用PerlHandler Apache :: Registry或PerlRun,或者只是将PerlHandler指向一些处理程序的代码时,它们都会泄漏.

有人看过这样的事情,或知道发生了什么事吗?

编辑:

谢谢你的回答.我使用了Devel :: Cycle并发现了泄漏,但问题是我们已经删除了我们的代码来打印标题和声明.Perl中的打印功能无法泄漏(我希望......).实际Modperl中的内存泄漏部分已经阅读,但它处理编码问题,并且除非Perl的打印功能存在问题,否则它不是代码.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有