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

