Add per size class huge allocation statistics.
Add per size class huge allocation statistics, and normalize various stats: - Change the arenas.nlruns type from size_t to unsigned. - Add the arenas.nhchunks and arenas.hchunks.<i>.size mallctl's. - Replace the stats.arenas.<i>.bins.<j>.allocated mallctl with stats.arenas.<i>.bins.<j>.curregs . - Add the stats.arenas.<i>.hchunks.<j>.nmalloc, stats.arenas.<i>.hchunks.<j>.ndalloc, stats.arenas.<i>.hchunks.<j>.nrequests, and stats.arenas.<i>.hchunks.<j>.curhchunks mallctl's.
This commit is contained in:
@@ -406,11 +406,12 @@ for (i = 0; i < nbins; i++) {
|
||||
functions simultaneously. If <option>--enable-stats</option> is
|
||||
specified during configuration, “m” and “a” can
|
||||
be specified to omit merged arena and per arena statistics, respectively;
|
||||
“b” and “l” can be specified to omit per size
|
||||
class statistics for bins and large objects, respectively. Unrecognized
|
||||
characters are silently ignored. Note that thread caching may prevent
|
||||
some statistics from being completely up to date, since extra locking
|
||||
would be required to merge counters that track thread cache operations.
|
||||
“b”, “l”, and “h” can be specified to
|
||||
omit per size class statistics for bins, large objects, and huge objects,
|
||||
respectively. Unrecognized characters are silently ignored. Note that
|
||||
thread caching may prevent some statistics from being completely up to
|
||||
date, since extra locking would be required to merge counters that track
|
||||
thread cache operations.
|
||||
</para>
|
||||
|
||||
<para>The <function>malloc_usable_size<parameter/></function> function
|
||||
@@ -1520,7 +1521,7 @@ malloc_conf = "xmalloc:true";]]></programlisting>
|
||||
<varlistentry id="arenas.nlruns">
|
||||
<term>
|
||||
<mallctl>arenas.nlruns</mallctl>
|
||||
(<type>size_t</type>)
|
||||
(<type>unsigned</type>)
|
||||
<literal>r-</literal>
|
||||
</term>
|
||||
<listitem><para>Total number of large size classes.</para></listitem>
|
||||
@@ -1536,6 +1537,25 @@ malloc_conf = "xmalloc:true";]]></programlisting>
|
||||
class.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="arenas.nhchunks">
|
||||
<term>
|
||||
<mallctl>arenas.nhchunks</mallctl>
|
||||
(<type>unsigned</type>)
|
||||
<literal>r-</literal>
|
||||
</term>
|
||||
<listitem><para>Total number of huge size classes.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="arenas.hchunks.i.size">
|
||||
<term>
|
||||
<mallctl>arenas.hchunks.<i>.size</mallctl>
|
||||
(<type>size_t</type>)
|
||||
<literal>r-</literal>
|
||||
</term>
|
||||
<listitem><para>Maximum size supported by this huge size
|
||||
class.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="arenas.extend">
|
||||
<term>
|
||||
<mallctl>arenas.extend</mallctl>
|
||||
@@ -1945,17 +1965,6 @@ malloc_conf = "xmalloc:true";]]></programlisting>
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.bins.j.allocated">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.bins.<j>.allocated</mallctl>
|
||||
(<type>size_t</type>)
|
||||
<literal>r-</literal>
|
||||
[<option>--enable-stats</option>]
|
||||
</term>
|
||||
<listitem><para>Current number of bytes allocated by
|
||||
bin.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.bins.j.nmalloc">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.bins.<j>.nmalloc</mallctl>
|
||||
@@ -1989,6 +1998,17 @@ malloc_conf = "xmalloc:true";]]></programlisting>
|
||||
requests.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.bins.j.curregs">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.bins.<j>.curregs</mallctl>
|
||||
(<type>size_t</type>)
|
||||
<literal>r-</literal>
|
||||
[<option>--enable-stats</option>]
|
||||
</term>
|
||||
<listitem><para>Current number of regions for this size
|
||||
class.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.bins.j.nfills">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.bins.<j>.nfills</mallctl>
|
||||
@@ -2083,6 +2103,50 @@ malloc_conf = "xmalloc:true";]]></programlisting>
|
||||
<listitem><para>Current number of runs for this size class.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.hchunks.j.nmalloc">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.hchunks.<j>.nmalloc</mallctl>
|
||||
(<type>uint64_t</type>)
|
||||
<literal>r-</literal>
|
||||
[<option>--enable-stats</option>]
|
||||
</term>
|
||||
<listitem><para>Cumulative number of allocation requests for this size
|
||||
class served directly by the arena.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.hchunks.j.ndalloc">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.hchunks.<j>.ndalloc</mallctl>
|
||||
(<type>uint64_t</type>)
|
||||
<literal>r-</literal>
|
||||
[<option>--enable-stats</option>]
|
||||
</term>
|
||||
<listitem><para>Cumulative number of deallocation requests for this
|
||||
size class served directly by the arena.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.hchunks.j.nrequests">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.hchunks.<j>.nrequests</mallctl>
|
||||
(<type>uint64_t</type>)
|
||||
<literal>r-</literal>
|
||||
[<option>--enable-stats</option>]
|
||||
</term>
|
||||
<listitem><para>Cumulative number of allocation requests for this size
|
||||
class.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stats.arenas.i.hchunks.j.curhchunks">
|
||||
<term>
|
||||
<mallctl>stats.arenas.<i>.hchunks.<j>.curhchunks</mallctl>
|
||||
(<type>size_t</type>)
|
||||
<literal>r-</literal>
|
||||
[<option>--enable-stats</option>]
|
||||
</term>
|
||||
<listitem><para>Current number of huge allocations for this size class.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 id="debugging_malloc_problems">
|
||||
|
Reference in New Issue
Block a user