Some code I'm working on is triggering an out of memory error, and I'd
like to figure out what specifically is responsible. (It's a complex
system with dozens of libraries and it runs in parallel across a cluster
of machines. Running the code in a debugger isn't a practical option.)

Any recommendation for tools to do this?

I don't recall if the typical profiling tools record memory usage, but a
traditional profiler would be overkill for what I need.

The ideal solution would be something that could hook the OOM exception
and dump the symbol table along with stats for how much memory each
symbol is occupying. Another useful possibility would be dumping the
call stack.

Is it possible to trap the OOM error? I don't think a __DIE__ handler
catches it. It seems to be an unusual error in that you often see
multiple of them, as if the first few are warnings, and then eventually
it is fatal.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to