On Mon, Sep 28, 2009 at 3:19 PM, Justin Wyllie <i...@justinwylliephotography.com> wrote: > But I'm struggling to understand why my processes are so huge. Using top > with the DATA field that shows that almost all the 90 mbs is data not > executable code. If this is the correct interpretation of that?
Probably not. Perl code looks like data to the OS. > There is some convoluted code which loads 16 mbs of data into memory when it > serves a request - which I have not yet tracked down. (It is a complicate > custom searching application ....) but the processes start at 90 Mb even > before this. Loading data from files or a database often accounts for large process sizes. You may need to learn more about how your DBD driver uses RAM. Most of them will load the entire result set into local RAM unless you tell them not to. > I'm wondering if anyone can advise me on how I could go about trying to > understand where this 90 Mbs is comming from? Do a binary search on your modules, i.e. comment out pre-loading for half of them, and then half again until you zero in on what's causing the size. You might start by not pre-loading anything and see what your baseline size is for apache/mod_perl. - Perrin