我正在尝试启用脚本的垃圾收集器来做得更好。它应该能够回收大量的内存,但有些东西正在阻止它。
我稍微使用了Devel::Cycle,这让我更近了但我不在那里。
如何找出Perl哈希值(我的对象的存储空间)的当前引用计数?
有没有办法跟踪谁持有对象的引用?也许是一种领带,它说,只要有人指出这个对象,就要记住某个人是谁。
答案 0 :(得分:16)
您正在寻找Devel::Refcount。
答案 1 :(得分:6)
如果您担心将未使用的内存返回到操作系统,您应该知道这通常是不可能的。 Perl程序的内存占用量将与程序生命周期内的最大分配成比例。
请参阅How can I make my Perl program take less memory?中的Perl FAQ list以及Mini-Tutorial: Perl's Memory Management(正如@Evan Carroll在评论中所指出的那样)。