in reply to Re^3: Getting a memory dump
in thread Getting a memory dump
Adopting the calls for getProcessMemoryInfo on Linux was easy enough. Something like:
open(PID, "/proc/$$/statm"); return (split(' ', <PID>))[5] * 4;
but I found that the overhead of handling every statement with DB::DB was far too high. I tried to adjust the script to use DB::sub and just record subroutine calls.
I need to include something in my DB::sub function that handles the recursion caused by the calls to $Q->pending etc. but so far I have failed to come up with a mechanism that both breaks the recursion and actually keeps on executing. Any suggestions would be appreciated.
my $handling = 0; sub DB::sub { return &$DB::sub if $handling; $handling = 1; scalar $Q->dequeue if $Q->pending > $OPTS{ LINES }; $Q->enqueue( $DB::sub ); $handling = 0; return &$DB::sub; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Getting a memory dump
by BrowserUk (Patriarch) on Nov 26, 2007 at 09:04 UTC |