awy has asked for the wisdom of the Perl Monks concerning the following question:
Is there a way that I can get a complete heap dump of all application data from a Perl program, like an hprof dump from a Sun JVM? I realise that this might be a rather blunt instrument but sometimes sifting through the data is the best way to get to the bottom of a problem.
Why? I'm working on an application - a long-running server program - which, under poorly-defined circumstances, exhibits massive memory growth. This could be a 'leak' (as in a discarded circular reference chain) or it could just be uncontrolled growth of some data structure. The program is large and complex and written by many people and I have little clue which module(s) may be responsible. So picking through details of a dump seems like a good strategy; except that I cannot work out how to get such a dump.