manpagez: man (manual) pages & more
man heap(1)
Home | html | info | man
heap(1)                   BSD General Commands Manual                  heap(1)


NAME

     heap -- List all the malloc-allocated buffers in the process's heap


SYNOPSIS

     heap [-guessNonObjects] pid | partial-executable-name


DESCRIPTION

     heap lists the objects currently allocated on the heap of the specified
     process, as well as summary data.  Objects are categorized by class name,
     type (Objective-C, C++, or CFType), and binary image.  C++ objects are
     identified by the vtable referenced from the start of the object, so with
     multiple inheritance this may not give the precise class of the object.

     The binary image identified for a class is the image which implements the
     class, not necessarily the binary image which caused the objects to be
     allocated at runtime, or which "owns" those objects.

     heap requires one parameter -- either a process ID or a full or partial
     executable name.

     The -guessNonObjects option causes heap to look through the memory con-
     tents of each Objective-C object to find pointers to malloc'ed blocks
     (non-objects), such as the variable array hanging from an NSArray.  These
     referenced blocks of memory are identified as their offset from the start
     of the object (say "NSCFArray[12]").  The count, number of bytes, and
     average size of memory blocks referenced from each different object off-
     set location are listed in the output.


SEE ALSO

     malloc(3), leaks(1), malloc_history(1), vmmap(1)

     The developer tools for the system also include a graphical application,
     /Developer/Applications/Instruments.app, that provides instruments that
     give information similar to that provided by heap. The ObjectAlloc
     instrument graphically displays dynamic, real-time information about the
     object and memory use in an application, including backtraces of where
     the allocations occured.  The Leaks instrument in performs memory leak
     analysis.  To use these instruments, the target application must be
     launched from Instruments.app, whereas heap can examine existing pro-
     cesses.  heap also has the advantage that the data can be immediately
     parsed by text-based tools, and impacts the system less because it is not
     a full graphical application.

BSD                             March 15, 2007                             BSD

Mac OS X 10.7 - Generated Fri Nov 4 19:49:45 CDT 2011