I'd also be curious to know if there are any tools that can do this for you. In the meantime, there are a few things that you can do to resolve this. First, if you are using 5.6.0, upgrade to 5.6.1. 5.6.0 is known to have quite a few memory leaks. Also, check to see if you have any circular references. Perl's garbage collection relies on reference counting and circular references need to be broken in the code or else those items won't get garbage collected.

Other causes of memory leaks can be poorly scoped code or poorly designed code. Using external applications with Perl can also cause issues. What OS are you running on? What tools are you using? Are you writing any XS or Inline code (Inline can cause issues if you fail to declare scalars as mortal). Are you forking anything or using threads? There are so many ways to introduce leaks that it's tough to say what's happening without a better idea of what you are doing.

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.


In reply to (Ovid) Re: Tools for identifying memory leaks in PERL application ? by Ovid
in thread Tools for identifying memory leaks in PERL application ? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.