Back when Re: Not able to release memory (malloc implementation) was written, glibc 2.x based Linux systems used ptmalloc, which is based on Doug Lea's malloc. This version of malloc uses mmap(2), rather than sbrk(2), when the chunk of memory requested is larger than some threshold value (typically 128K).
So, an interesting test would be to adjust
Dave's little memory eater program above to repeatedly push "large" strings (greater than 128K, say) and see if that makes any difference to machine lockup behaviour.
Further things you might try:
- Take Perl out of the equation. Write a small C program that just keeps on malloc'ing strings of various sizes and see if running such a program locks up the whole machine.
- Build a custom perl with an instrumented/different version of malloc to help you debug what is going on.
- Check version history of the Linux/glibc C sources to try to find the change that triggered this new "machine lockup" behavior.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.