| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package z
- import "sync/atomic"
- var numBytes int64
- // NumAllocBytes returns the number of bytes allocated using calls to z.Calloc. The allocations
- // could be happening via either Go or jemalloc, depending upon the build flags.
- func NumAllocBytes() int64 {
- return atomic.LoadInt64(&numBytes)
- }
- // MemStats is used to fetch JE Malloc Stats. The stats are fetched from
- // the mallctl namespace http://jemalloc.net/jemalloc.3.html#mallctl_namespace.
- type MemStats struct {
- // Total number of bytes allocated by the application.
- // http://jemalloc.net/jemalloc.3.html#stats.allocated
- Allocated uint64
- // Total number of bytes in active pages allocated by the application. This
- // is a multiple of the page size, and greater than or equal to
- // Allocated.
- // http://jemalloc.net/jemalloc.3.html#stats.active
- Active uint64
- // Maximum number of bytes in physically resident data pages mapped by the
- // allocator, comprising all pages dedicated to allocator metadata, pages
- // backing active allocations, and unused dirty pages. This is a maximum
- // rather than precise because pages may not actually be physically
- // resident if they correspond to demand-zeroed virtual memory that has not
- // yet been touched. This is a multiple of the page size, and is larger
- // than stats.active.
- // http://jemalloc.net/jemalloc.3.html#stats.resident
- Resident uint64
- // Total number of bytes in virtual memory mappings that were retained
- // rather than being returned to the operating system via e.g. munmap(2) or
- // similar. Retained virtual memory is typically untouched, decommitted, or
- // purged, so it has no strongly associated physical memory (see extent
- // hooks http://jemalloc.net/jemalloc.3.html#arena.i.extent_hooks for
- // details). Retained memory is excluded from mapped memory statistics,
- // e.g. stats.mapped (http://jemalloc.net/jemalloc.3.html#stats.mapped).
- // http://jemalloc.net/jemalloc.3.html#stats.retained
- Retained uint64
- }
|