Changeset View
Changeset View
Standalone View
Standalone View
head/contrib/jemalloc/doc/jemalloc.3
'\" t | '\" t | ||||
.\" Title: JEMALLOC | .\" Title: JEMALLOC | ||||
.\" Author: Jason Evans | .\" Author: Jason Evans | ||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> | .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> | ||||
.\" Date: 05/08/2018 | .\" Date: 11/10/2019 | ||||
.\" Manual: User Manual | .\" Manual: User Manual | ||||
.\" Source: jemalloc 5.1.0-0-g61efbda7098de6fe64c362d309824864308c36d4 | .\" Source: jemalloc 5.2.1-0-gea6b3e973b477b8061e0076bb257dbd7f3faa756 | ||||
.\" Language: English | .\" Language: English | ||||
.\" | .\" | ||||
.TH "JEMALLOC" "3" "05/08/2018" "jemalloc 5.1.0-0-g61efbda7098d" "User Manual" | .TH "JEMALLOC" "3" "11/10/2019" "jemalloc 5.2.1-0-gea6b3e973b47" "User Manual" | ||||
.\" ----------------------------------------------------------------- | .\" ----------------------------------------------------------------- | ||||
.\" * Define some portability stuff | .\" * Define some portability stuff | ||||
.\" ----------------------------------------------------------------- | .\" ----------------------------------------------------------------- | ||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
.\" http://bugs.debian.org/507673 | .\" http://bugs.debian.org/507673 | ||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html | .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html | ||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
.ie \n(.g .ds Aq \(aq | .ie \n(.g .ds Aq \(aq | ||||
.el .ds Aq ' | .el .ds Aq ' | ||||
.\" ----------------------------------------------------------------- | .\" ----------------------------------------------------------------- | ||||
.\" * set default formatting | .\" * set default formatting | ||||
.\" ----------------------------------------------------------------- | .\" ----------------------------------------------------------------- | ||||
.\" disable hyphenation | .\" disable hyphenation | ||||
.nh | .nh | ||||
.\" disable justification (adjust text to left margin only) | .\" disable justification (adjust text to left margin only) | ||||
.ad l | .ad l | ||||
.\" ----------------------------------------------------------------- | .\" ----------------------------------------------------------------- | ||||
.\" * MAIN CONTENT STARTS HERE * | .\" * MAIN CONTENT STARTS HERE * | ||||
.\" ----------------------------------------------------------------- | .\" ----------------------------------------------------------------- | ||||
.SH "NAME" | .SH "NAME" | ||||
jemalloc \- general purpose memory allocation functions | jemalloc \- general purpose memory allocation functions | ||||
.SH "LIBRARY" | .SH "LIBRARY" | ||||
.PP | .PP | ||||
This manual describes jemalloc 5\&.1\&.0\-0\-g61efbda7098de6fe64c362d309824864308c36d4\&. More information can be found at the | This manual describes jemalloc 5\&.2\&.1\-0\-gea6b3e973b477b8061e0076bb257dbd7f3faa756\&. More information can be found at the | ||||
\m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&. | \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&. | ||||
.PP | .PP | ||||
The following configuration options are enabled in libc\*(Aqs built\-in jemalloc: | The following configuration options are enabled in libc\*(Aqs built\-in jemalloc: | ||||
\fB\-\-enable\-fill\fR, | \fB\-\-enable\-fill\fR, | ||||
\fB\-\-enable\-lazy\-lock\fR, | \fB\-\-enable\-lazy\-lock\fR, | ||||
\fB\-\-enable\-stats\fR, | \fB\-\-enable\-stats\fR, | ||||
\fB\-\-enable\-utrace\fR, | \fB\-\-enable\-utrace\fR, | ||||
\fB\-\-enable\-xmalloc\fR, and | \fB\-\-enable\-xmalloc\fR, and | ||||
▲ Show 20 Lines • Show All 348 Lines • ▼ Show 20 Lines | |||||
is specified as a character within the | is specified as a character within the | ||||
\fIopts\fR | \fIopts\fR | ||||
string, in which case the statistics are presented in | string, in which case the statistics are presented in | ||||
\m[blue]\fBJSON format\fR\m[]\&\s-2\u[2]\d\s+2\&. This function can be called repeatedly\&. General information that never changes during execution can be omitted by specifying | \m[blue]\fBJSON format\fR\m[]\&\s-2\u[2]\d\s+2\&. This function can be called repeatedly\&. General information that never changes during execution can be omitted by specifying | ||||
\(lqg\(rq | \(lqg\(rq | ||||
as a character within the | as a character within the | ||||
\fIopts\fR | \fIopts\fR | ||||
string\&. Note that | string\&. Note that | ||||
malloc_message() | malloc_stats_print() | ||||
uses the | uses the | ||||
mallctl*() | mallctl*() | ||||
functions internally, so inconsistent statistics can be reported if multiple threads use these functions simultaneously\&. If | functions internally, so inconsistent statistics can be reported if multiple threads use these functions simultaneously\&. If | ||||
\fB\-\-enable\-stats\fR | \fB\-\-enable\-stats\fR | ||||
is specified during configuration, | is specified during configuration, | ||||
\(lqm\(rq, | \(lqm\(rq, | ||||
\(lqd\(rq, and | \(lqd\(rq, and | ||||
\(lqa\(rq | \(lqa\(rq | ||||
can be specified to omit merged arena, destroyed merged arena, and per arena statistics, respectively; | can be specified to omit merged arena, destroyed merged arena, and per arena statistics, respectively; | ||||
\(lqb\(rq | \(lqb\(rq | ||||
and | and | ||||
\(lql\(rq | \(lql\(rq | ||||
can be specified to omit per size class statistics for bins and large objects, respectively; | can be specified to omit per size class statistics for bins and large objects, respectively; | ||||
\(lqx\(rq | \(lqx\(rq | ||||
can be specified to omit all mutex statistics\&. 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\&. | can be specified to omit all mutex statistics; | ||||
\(lqe\(rq | |||||
can be used to omit extent statistics\&. 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\&. | |||||
.PP | .PP | ||||
The | The | ||||
malloc_usable_size() | malloc_usable_size() | ||||
function returns the usable size of the allocation pointed to by | function returns the usable size of the allocation pointed to by | ||||
\fIptr\fR\&. The return value may be larger than the size that was requested during allocation\&. The | \fIptr\fR\&. The return value may be larger than the size that was requested during allocation\&. The | ||||
malloc_usable_size() | malloc_usable_size() | ||||
function is not a mechanism for in\-place | function is not a mechanism for in\-place | ||||
realloc(); rather it is provided solely as a tool for introspection purposes\&. Any discrepancy between the requested allocation size and the size reported by | realloc(); rather it is provided solely as a tool for introspection purposes\&. Any discrepancy between the requested allocation size and the size reported by | ||||
▲ Show 20 Lines • Show All 398 Lines • ▼ Show 20 Lines | |||||
opt\&.abort_conf | opt\&.abort_conf | ||||
for that)\&. The process will call | for that)\&. The process will call | ||||
\fBabort\fR(3) | \fBabort\fR(3) | ||||
in these cases\&. This option is disabled by default unless | in these cases\&. This option is disabled by default unless | ||||
\fB\-\-enable\-debug\fR | \fB\-\-enable\-debug\fR | ||||
is specified during configuration, in which case it is enabled by default\&. | is specified during configuration, in which case it is enabled by default\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.confirm_conf (\fBbool\fR) r\- | |||||
.RS 4 | |||||
Confirm\-runtime\-options\-when\-program\-starts enabled/disabled\&. If true, the string specified via | |||||
\fB\-\-with\-malloc\-conf\fR, the string pointed to by the global variable | |||||
\fImalloc_conf\fR, the | |||||
\(lqname\(rq | |||||
of the file referenced by the symbolic link named | |||||
/etc/malloc\&.conf, and the value of the environment variable | |||||
\fBMALLOC_CONF\fR, will be printed in order\&. Then, each option being set will be individually printed\&. This option is disabled by default\&. | |||||
.RE | |||||
.PP | |||||
opt\&.abort_conf (\fBbool\fR) r\- | opt\&.abort_conf (\fBbool\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Abort\-on\-invalid\-configuration enabled/disabled\&. If true, invalid runtime options are fatal\&. The process will call | Abort\-on\-invalid\-configuration enabled/disabled\&. If true, invalid runtime options are fatal\&. The process will call | ||||
\fBabort\fR(3) | \fBabort\fR(3) | ||||
in these cases\&. This option is disabled by default unless | in these cases\&. This option is disabled by default unless | ||||
\fB\-\-enable\-debug\fR | \fB\-\-enable\-debug\fR | ||||
is specified during configuration, in which case it is enabled by default\&. | is specified during configuration, in which case it is enabled by default\&. | ||||
.RE | .RE | ||||
Show All 10 Lines | |||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.retain (\fBbool\fR) r\- | opt\&.retain (\fBbool\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
If true, retain unused virtual memory for later reuse rather than discarding it by calling | If true, retain unused virtual memory for later reuse rather than discarding it by calling | ||||
\fBmunmap\fR(2) | \fBmunmap\fR(2) | ||||
or equivalent (see | or equivalent (see | ||||
stats\&.retained | stats\&.retained | ||||
for related details)\&. This option is disabled by default unless discarding virtual memory is known to trigger platform\-specific performance problems, e\&.g\&. for [64\-bit] Linux, which has a quirk in its virtual memory allocation algorithm that causes semi\-permanent VM map holes under normal jemalloc operation\&. Although | for related details)\&. It also makes jemalloc use | ||||
\fBmunmap\fR(2) | \fBmmap\fR(2) | ||||
causes issues on 32\-bit Linux as well, retaining virtual memory for 32\-bit Linux is disabled by default due to the practical possibility of address space exhaustion\&. | or equivalent in a more greedy way, mapping larger chunks in one go\&. This option is disabled by default unless discarding virtual memory is known to trigger platform\-specific performance problems, namely 1) for [64\-bit] Linux, which has a quirk in its virtual memory allocation algorithm that causes semi\-permanent VM map holes under normal jemalloc operation; and 2) for [64\-bit] Windows, which disallows split / merged regions with | ||||
\fI\fBMEM_RELEASE\fR\fR\&. Although the same issues may present on 32\-bit platforms as well, retaining virtual memory for 32\-bit Linux and Windows is disabled by default due to the practical possibility of address space exhaustion\&. | |||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.dss (\fBconst char *\fR) r\- | opt\&.dss (\fBconst char *\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
dss (\fBsbrk\fR(2)) allocation precedence as related to | dss (\fBsbrk\fR(2)) allocation precedence as related to | ||||
\fBmmap\fR(2) | \fBmmap\fR(2) | ||||
allocation\&. The following settings are supported if | allocation\&. The following settings are supported if | ||||
\fBsbrk\fR(2) | \fBsbrk\fR(2) | ||||
Show All 11 Lines | |||||
otherwise\&. | otherwise\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.narenas (\fBunsigned\fR) r\- | opt\&.narenas (\fBunsigned\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Maximum number of arenas to use for automatic multiplexing of threads and arenas\&. The default is four times the number of CPUs, or one if there is a single CPU\&. | Maximum number of arenas to use for automatic multiplexing of threads and arenas\&. The default is four times the number of CPUs, or one if there is a single CPU\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.oversize_threshold (\fBsize_t\fR) r\- | |||||
.RS 4 | |||||
The threshold in bytes of which requests are considered oversize\&. Allocation requests with greater sizes are fulfilled from a dedicated arena (automatically managed, however not within | |||||
narenas), in order to reduce fragmentation by not mixing huge allocations with small ones\&. In addition, the decay API guarantees on the extents greater than the specified threshold may be overridden\&. Note that requests with arena index specified via | |||||
\fBMALLOCX_ARENA\fR, or threads associated with explicit arenas will not be considered\&. The default threshold is 8MiB\&. Values not within large size classes disables this feature\&. | |||||
.RE | |||||
.PP | |||||
opt\&.percpu_arena (\fBconst char *\fR) r\- | opt\&.percpu_arena (\fBconst char *\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Per CPU arena mode\&. Use the | Per CPU arena mode\&. Use the | ||||
\(lqpercpu\(rq | \(lqpercpu\(rq | ||||
setting to enable this feature, which uses number of CPUs to determine number of arenas, and bind threads to arenas dynamically based on the CPU the thread runs on currently\&. | setting to enable this feature, which uses number of CPUs to determine number of arenas, and bind threads to arenas dynamically based on the CPU the thread runs on currently\&. | ||||
\(lqphycpu\(rq | \(lqphycpu\(rq | ||||
setting uses one arena per physical CPU, which means the two hyper threads on the same CPU share one arena\&. Note that no runtime checking regarding the availability of hyper threading is done at the moment\&. When set to | setting uses one arena per physical CPU, which means the two hyper threads on the same CPU share one arena\&. Note that no runtime checking regarding the availability of hyper threading is done at the moment\&. When set to | ||||
\(lqdisabled\(rq, narenas and thread to arena association will not be impacted by this option\&. The default is | \(lqdisabled\(rq, narenas and thread to arena association will not be impacted by this option\&. The default is | ||||
\(lqdisabled\(rq\&. | \(lqdisabled\(rq\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.background_thread (\fBconst bool\fR) r\- | opt\&.background_thread (\fBbool\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Internal background worker threads enabled/disabled\&. Because of potential circular dependencies, enabling background thread using this option may cause crash or deadlock during initialization\&. For a reliable way to use this feature, see | Internal background worker threads enabled/disabled\&. Because of potential circular dependencies, enabling background thread using this option may cause crash or deadlock during initialization\&. For a reliable way to use this feature, see | ||||
background_thread | background_thread | ||||
for dynamic control options and details\&. This option is disabled by default\&. | for dynamic control options and details\&. This option is disabled by default\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.max_background_threads (\fBconst size_t\fR) r\- | opt\&.max_background_threads (\fBsize_t\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Maximum number of background threads that will be created if | Maximum number of background threads that will be created if | ||||
background_thread | background_thread | ||||
is set\&. Defaults to number of cpus\&. | is set\&. Defaults to number of cpus\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.dirty_decay_ms (\fBssize_t\fR) r\- | opt\&.dirty_decay_ms (\fBssize_t\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Approximate time in milliseconds from the creation of a set of unused dirty pages until an equivalent set of unused dirty pages is purged (i\&.e\&. converted to muzzy via e\&.g\&. | Approximate time in milliseconds from the creation of a set of unused dirty pages until an equivalent set of unused dirty pages is purged (i\&.e\&. converted to muzzy via e\&.g\&. | ||||
madvise(\fI\&.\&.\&.\fR\fI\fBMADV_FREE\fR\fR) | madvise(\fI\&.\&.\&.\fR\fI\fBMADV_FREE\fR\fR) | ||||
if supported by the operating system, or converted to clean otherwise) and/or reused\&. Dirty pages are defined as previously having been potentially written to by the application, and therefore consuming physical memory, yet having no current use\&. The pages are incrementally purged according to a sigmoidal decay curve that starts and ends with zero purge rate\&. A decay time of 0 causes all unused dirty pages to be purged immediately upon creation\&. A decay time of \-1 disables purging\&. The default decay time is 10 seconds\&. See | if supported by the operating system, or converted to clean otherwise) and/or reused\&. Dirty pages are defined as previously having been potentially written to by the application, and therefore consuming physical memory, yet having no current use\&. The pages are incrementally purged according to a sigmoidal decay curve that starts and ends with zero purge rate\&. A decay time of 0 causes all unused dirty pages to be purged immediately upon creation\&. A decay time of \-1 disables purging\&. The default decay time is 10 seconds\&. See | ||||
arenas\&.dirty_decay_ms | arenas\&.dirty_decay_ms | ||||
and | and | ||||
arena\&.<i>\&.dirty_decay_ms | arena\&.<i>\&.dirty_decay_ms | ||||
for related dynamic control options\&. See | for related dynamic control options\&. See | ||||
opt\&.muzzy_decay_ms | opt\&.muzzy_decay_ms | ||||
for a description of muzzy pages\&. | for a description of muzzy pages\&.for a description of muzzy pages\&. Note that when the | ||||
oversize_threshold | |||||
feature is enabled, the arenas reserved for oversize requests may have its own default decay settings\&. | |||||
.RE | .RE | ||||
.PP | .PP | ||||
opt\&.muzzy_decay_ms (\fBssize_t\fR) r\- | opt\&.muzzy_decay_ms (\fBssize_t\fR) r\- | ||||
.RS 4 | .RS 4 | ||||
Approximate time in milliseconds from the creation of a set of unused muzzy pages until an equivalent set of unused muzzy pages is purged (i\&.e\&. converted to clean) and/or reused\&. Muzzy pages are defined as previously having been unused dirty pages that were subsequently purged in a manner that left them subject to the reclamation whims of the operating system (e\&.g\&. | Approximate time in milliseconds from the creation of a set of unused muzzy pages until an equivalent set of unused muzzy pages is purged (i\&.e\&. converted to clean) and/or reused\&. Muzzy pages are defined as previously having been unused dirty pages that were subsequently purged in a manner that left them subject to the reclamation whims of the operating system (e\&.g\&. | ||||
madvise(\fI\&.\&.\&.\fR\fI\fBMADV_FREE\fR\fR)), and therefore in an indeterminate state\&. The pages are incrementally purged according to a sigmoidal decay curve that starts and ends with zero purge rate\&. A decay time of 0 causes all unused muzzy pages to be purged immediately upon creation\&. A decay time of \-1 disables purging\&. The default decay time is 10 seconds\&. See | madvise(\fI\&.\&.\&.\fR\fI\fBMADV_FREE\fR\fR)), and therefore in an indeterminate state\&. The pages are incrementally purged according to a sigmoidal decay curve that starts and ends with zero purge rate\&. A decay time of 0 causes all unused muzzy pages to be purged immediately upon creation\&. A decay time of \-1 disables purging\&. The default decay time is 10 seconds\&. See | ||||
arenas\&.muzzy_decay_ms | arenas\&.muzzy_decay_ms | ||||
and | and | ||||
▲ Show 20 Lines • Show All 359 Lines • ▼ Show 20 Lines | |||||
is enabled)\&. This controls the maximum increment to expand virtual memory, or allocation through | is enabled)\&. This controls the maximum increment to expand virtual memory, or allocation through | ||||
arena\&.<i>extent_hooks\&. In particular, if customized extent hooks reserve physical memory (e\&.g\&. 1G huge pages), this is useful to control the allocation hook\*(Aqs input size\&. The default is no limit\&. | arena\&.<i>extent_hooks\&. In particular, if customized extent hooks reserve physical memory (e\&.g\&. 1G huge pages), this is useful to control the allocation hook\*(Aqs input size\&. The default is no limit\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
arena\&.<i>\&.extent_hooks (\fBextent_hooks_t *\fR) rw | arena\&.<i>\&.extent_hooks (\fBextent_hooks_t *\fR) rw | ||||
.RS 4 | .RS 4 | ||||
Get or set the extent management hook functions for arena <i>\&. The functions must be capable of operating on all extant extents associated with arena <i>, usually by passing unknown extents to the replaced functions\&. In practice, it is feasible to control allocation for arenas explicitly created via | Get or set the extent management hook functions for arena <i>\&. The functions must be capable of operating on all extant extents associated with arena <i>, usually by passing unknown extents to the replaced functions\&. In practice, it is feasible to control allocation for arenas explicitly created via | ||||
arenas\&.create | arenas\&.create | ||||
such that all extents originate from an application\-supplied extent allocator (by specifying the custom extent hook functions during arena creation), but the automatically created arenas will have already created extents prior to the application having an opportunity to take over extent allocation\&. | such that all extents originate from an application\-supplied extent allocator (by specifying the custom extent hook functions during arena creation)\&. However, the API guarantees for the automatically created arenas may be relaxed \-\- hooks set there may be called in a "best effort" fashion; in addition there may be extents created prior to the application having an opportunity to take over extent allocation\&. | ||||
.sp | .sp | ||||
.if n \{\ | .if n \{\ | ||||
.RS 4 | .RS 4 | ||||
.\} | .\} | ||||
.nf | .nf | ||||
typedef extent_hooks_s extent_hooks_t; | typedef extent_hooks_s extent_hooks_t; | ||||
struct extent_hooks_s { | struct extent_hooks_s { | ||||
extent_alloc_t *alloc; | extent_alloc_t *alloc; | ||||
▲ Show 20 Lines • Show All 566 Lines • ▼ Show 20 Lines | |||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.retained (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.retained (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Number of retained bytes\&. See | Number of retained bytes\&. See | ||||
stats\&.retained | stats\&.retained | ||||
for details\&. | for details\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.extent_avail (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Number of allocated (but unused) extent structs in this arena\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.base (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.base (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Number of bytes dedicated to bootstrap\-sensitive allocator metadata structures\&. | Number of bytes dedicated to bootstrap\-sensitive allocator metadata structures\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.internal (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.internal (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Number of bytes dedicated to internal allocations\&. Internal allocations differ from application\-originated allocations in that they are for internal use, and that they are omitted from heap profiles\&. | Number of bytes dedicated to internal allocations\&. Internal allocations differ from application\-originated allocations in that they are for internal use, and that they are omitted from heap profiles\&. | ||||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | |||||
is enabled, or to directly deallocate an allocation otherwise\&. | is enabled, or to directly deallocate an allocation otherwise\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.small\&.nrequests (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.small\&.nrequests (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Cumulative number of allocation requests satisfied by all bin size classes\&. | Cumulative number of allocation requests satisfied by all bin size classes\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.small\&.nfills (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Cumulative number of tcache fills by all small size classes\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.small\&.nflushes (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Cumulative number of tcache flushes by all small size classes\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.large\&.allocated (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.large\&.allocated (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Number of bytes currently allocated by large objects\&. | Number of bytes currently allocated by large objects\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.large\&.nmalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.large\&.nmalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Cumulative number of times a large extent was allocated from the arena, whether to fill the relevant tcache if | Cumulative number of times a large extent was allocated from the arena, whether to fill the relevant tcache if | ||||
opt\&.tcache | opt\&.tcache | ||||
is enabled and the size class is within the range being cached, or to directly satisfy an allocation request otherwise\&. | is enabled and the size class is within the range being cached, or to directly satisfy an allocation request otherwise\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.large\&.ndalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.large\&.ndalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Cumulative number of times a large extent was returned to the arena, whether to flush the relevant tcache if | Cumulative number of times a large extent was returned to the arena, whether to flush the relevant tcache if | ||||
opt\&.tcache | opt\&.tcache | ||||
is enabled and the size class is within the range being cached, or to directly deallocate an allocation otherwise\&. | is enabled and the size class is within the range being cached, or to directly deallocate an allocation otherwise\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.large\&.nrequests (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.large\&.nrequests (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Cumulative number of allocation requests satisfied by all large size classes\&. | Cumulative number of allocation requests satisfied by all large size classes\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.large\&.nfills (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Cumulative number of tcache fills by all large size classes\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.large\&.nflushes (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Cumulative number of tcache flushes by all large size classes\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.bins\&.<j>\&.nmalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.bins\&.<j>\&.nmalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Cumulative number of times a bin region of the corresponding size class was allocated from the arena, whether to fill the relevant tcache if | Cumulative number of times a bin region of the corresponding size class was allocated from the arena, whether to fill the relevant tcache if | ||||
opt\&.tcache | opt\&.tcache | ||||
is enabled, or to directly satisfy an allocation request otherwise\&. | is enabled, or to directly satisfy an allocation request otherwise\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.bins\&.<j>\&.ndalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.bins\&.<j>\&.ndalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
Show All 33 Lines | |||||
Cumulative number of times the current slab from which to allocate changed\&. | Cumulative number of times the current slab from which to allocate changed\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.bins\&.<j>\&.curslabs (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.bins\&.<j>\&.curslabs (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Current number of slabs\&. | Current number of slabs\&. | ||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.bins\&.<j>\&.nonfull_slabs (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Current number of nonfull slabs\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.bins\&.<j>\&.mutex\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.bins\&.<j>\&.mutex\&.{counter} (\fBcounter specific type\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Statistics on | Statistics on | ||||
\fIarena\&.<i>\&.bins\&.<j>\fR | \fIarena\&.<i>\&.bins\&.<j>\fR | ||||
mutex (arena bin scope; bin operation related)\&. | mutex (arena bin scope; bin operation related)\&. | ||||
{counter} | {counter} | ||||
is one of the counters in | is one of the counters in | ||||
mutex profiling counters\&. | mutex profiling counters\&. | ||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.extents\&.<j>\&.n{extent_type} (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Number of extents of the given type in this arena in the bucket corresponding to page size index <j>\&. The extent type is one of dirty, muzzy, or retained\&. | |||||
.RE | |||||
.PP | |||||
stats\&.arenas\&.<i>\&.extents\&.<j>\&.{extent_type}_bytes (\fBsize_t\fR) r\- [\fB\-\-enable\-stats\fR] | |||||
.RS 4 | |||||
Sum of the bytes managed by extents of the given type in this arena in the bucket corresponding to page size index <j>\&. The extent type is one of dirty, muzzy, or retained\&. | |||||
.RE | .RE | ||||
.PP | .PP | ||||
stats\&.arenas\&.<i>\&.lextents\&.<j>\&.nmalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | stats\&.arenas\&.<i>\&.lextents\&.<j>\&.nmalloc (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] | ||||
.RS 4 | .RS 4 | ||||
Cumulative number of times a large extent of the corresponding size class was allocated from the arena, whether to fill the relevant tcache if | Cumulative number of times a large extent of the corresponding size class was allocated from the arena, whether to fill the relevant tcache if | ||||
opt\&.tcache | opt\&.tcache | ||||
is enabled and the size class is within the range being cached, or to directly satisfy an allocation request otherwise\&. | is enabled and the size class is within the range being cached, or to directly satisfy an allocation request otherwise\&. | ||||
.RE | .RE | ||||
▲ Show 20 Lines • Show All 450 Lines • Show Last 20 Lines |