哪种方法可以从Perl脚本中回收内存和/或防止perl产生内存管理池?
发布于 2009-11-04 01:41:00
回答了一个类似的问题:在脚本结束/终止之前执行In general, you cannot expect perl to release memory to the OS。在终止时,分配的所有内存都会返回给操作系统,但这是操作系统的一个特性,并不是特定于Perl的。
因此,如果您有一个长时间运行的脚本,那么您的选择是有限的:
发布于 2009-11-03 16:22:47
最有效的方法是拥有大量的虚拟内存,这样perl已经分配但不经常使用的内存就会被调出。
除此之外,要阻止perl仅仅通过time...not分配更多的内存是非常困难的,因为它是泄漏的,但是因为perl确实喜欢保留已分配的内容,以防它们再次被使用。具有相当一致字符串大小的小代码库将在一段时间后达到顶端,但这是一个例外情况。
在apache下,历史悠久的技术是在进程达到一定大小或请求数量达到一定数量后将其杀死。这在线程化的MPM中不能很好的工作。
发布于 2009-11-03 20:21:57
通常未定义,深度优先。
https://stackoverflow.com/questions/1665636
复制相似问题