如何访问Perl哈希的引用计数?

时间:2010-02-16 22:30:08

标签: perl

我正在尝试启用脚本的垃圾收集器来做得更好。它应该能够回收大量的内存,但有些东西正在阻止它。

我稍微使用了Devel::Cycle,这让我更近了但我不在那里。

如何找出Perl哈希值(我的对象的存储空间)的当前引用计数?

有没有办法跟踪谁持有对象的引用?也许是一种领带,它说,只要有人指出这个对象,就要记住某个人是谁。

2 个答案:

答案 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在评论中所指出的那样)。