Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MPROF(1)			mpatrol	library			      MPROF(1)

       mprof - displays	profiling information produced by the mpatrol library

       mprof [options] [file]

       The  mprof  command  is a tool designed to read a profiling output file
       produced	by the mpatrol library and display the	profiling  information
       that was	obtained.  The profiling information includes summaries	of all
       of the memory allocations listed	by size	and the	 function  that	 allo-
       cated  them and a list of memory	leaks with the call stack of the allo-
       cating function.	 It also includes a graph of  all  memory  allocations
       listed  in  tabular  form, and an optional graph	specification file for
       later processing	by the dot graph visualisation package.

       When the	PROF option is used with the mpatrol library,  statistics  for
       all  dynamic memory allocations and deallocations are written to	a pro-
       filing output file.  The	name of	this file  can	be  changed  with  the
       PROFFILE	 option	 and the frequency at which the	file is	written	can be
       specified with the AUTOSAVE option.  The	bounds for small  allocations,
       medium  allocations,  large allocations and extra large allocations can
       be set with the SMALLBOUND, MEDIUMBOUND and LARGEBOUND options.

       Only allocations	and deallocations are recorded,	with each reallocation
       being  treated as a deallocation	immediately followed by	an allocation.
       For full	memory allocation profiling support, call stack	traversal must
       be  supported  in  the mpatrol library and all of the program's symbols
       must have been successfully read	by the mpatrol library before the pro-
       gram  was  run.	The mprof command will attempt to compensate if	either
       of these	requirements are not met, but the displayed tables may contain
       less meaningful information.

       The file	argument must be a valid mpatrol profiling output filename but
       if file is omitted then mprof will use mpatrol.out as the name  of  the
       profiling  output file to use.  If file is given	as - then the standard
       input file stream will be used as the profiling output file.

       Much of the functionality of this tool is based upon mprof by  Benjamin
       Zorn  and  Paul	Hilfinger, which was written as	a research project and
       ran on MIPS, SPARC and VAX machines.   However,	the  profiling	output
       files  are  incompatible, the tables displayed have a different format,
       and the way they	are implemented	is entirely different.

       --addresses [-a]
	      Specifies	that different call sites from within the  same	 func-
	      tion  are	 to  be	differentiated and that	the names of all func-
	      tions should be displayed	with their call	site offset in	bytes.
	      This  affects  the  direct allocation and	memory leak tables, as
	      well as the allocation call graph	and  the  graph	 specification

       --call-graph [-v]
	      Specifies	 that  the  allocation call graph should be displayed.
	      This is not displayed by default as it can get  very  large  for
	      even a moderately	sized profiling	output file.

       --counts	[-c]
	      Specifies	 that certain tables should be sorted by the number of
	      allocations or deallocations rather than	the  total  number  of
	      bytes allocated or deallocated.  This affects the	direct alloca-
	      tion and memory leak tables, as  well  as	 the  allocation  call
	      graph and	the graph specification	file.

       --graph-file file [-g]
	      Specifies	 that the allocation call graph	should also be written
	      to a graph specification file for	later visualisation with  dot.
	      If file is given as stdout or stderr then	the corresponding file
	      stream will be used as the target	for  the  graph	 specification

       --help [-h]
	      Displays a quick-reference option	summary.

       --leaks [-l]
	      Specifies	 that  memory leaks rather than	memory allocations are
	      to be written to the graph specification file.  This option only
	      affects the output from the --graph-file option.

       --stack-depth depth [-n]
	      Specifies	the maximum stack depth	to use when calculating	if one
	      call site	has the	same call stack	as another  call  site.	  This
	      also  specifies  the maximum number of functions to display in a
	      call stack.  If depth is 0 then the call stack depth will	be un-
	      limited  in  size.  The default call stack depth is 1.  This af-
	      fects the	memory leak table.

       --version [-V]
	      Displays the version number of the mprof command.

       mpatrol(1), mptrace(1),	mleak(1),  mpsym(1),  mpedit(1),  hexwords(1),
       prof(1),	gprof(1), dot(1), libmpatrol(3), libmpalloc(3).

       The mpatrol manual and reference	card.

       Graeme S. Roy <>

       Copyright (C) 1997-2002 Graeme S. Roy <>

       This library is free software; you can redistribute it and/or modify it
       under the terms of the GNU Library General Public License as  published
       by  the	Free  Software Foundation; either version 2 of the License, or
       (at your	option)	any later version.

       This library is distributed in the hope that it	will  be  useful,  but
       WITHOUT	ANY  WARRANTY;	without	 even  the  implied  warranty  of MER-
       General Public License for more details.

       You  should  have received a copy of the	GNU Library General Public Li-
       cense along with	this library; if not, write to the Free	Software Foun-
       dation, Inc., 59	Temple Place, Suite 330, Boston, MA 02111-1307,	USA.

Release	1.4			8 January 2002			      MPROF(1)


Want to link to this manual page? Use this URL:

home | help