in reply to Memory usage breakup

One way or another everything is referenced by a global or per interpreter or per thread C variable starting with PL_. The B module provides access to some of these. But working out total memory used that way is likely to be too hard.

Devel::Peek provides some high level memory statistics (which I have never myself used). I think they are only available for a perl compiled with perl's malloc routines or with a special option set.