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

FreeBSD Manual Pages

  
 
  

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

NAME
       mprof - displays	profiling information produced by the mpatrol library

SYNOPSIS
       mprof [options] [file]

DESCRIPTION
       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.

OPTIONS
       --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
	      file.

       --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
	      file.

       --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.

SEE ALSO
       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.

       http://www.cbmamiga.demon.co.uk/mpatrol/

AUTHOR
       Graeme S. Roy <graeme.roy@analog.com>

COPYRIGHT
       Copyright (C) 1997-2002 Graeme S. Roy <graeme.roy@analog.com>

       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-
       CHANTABILITY or FITNESS FOR A PARTICULAR	PURPOSE.  See the GNU  Library
       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:
<https://man.freebsd.org/cgi/man.cgi?query=mprof&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help