arena: current total non-mmapped bytes allocated from system
ordblks: the number of free chunks
- smblks: the number of fastbin blocks (i.e., small chunks that
- have been freed but not reused or consolidated)
hblks: current number of mmapped regions
hblkhd: total bytes held in mmapped regions
usmblks: always 0
- fsmblks: total bytes held in fastbin blocks
uordblks: current total allocated space (normal or mmapped)
fordblks: total free space
keepcost: the maximum number of bytes that could ideally be released
mbinptr b;
mchunkptr p;
INTERNAL_SIZE_T avail;
- INTERNAL_SIZE_T fastavail;
int nblocks;
- int nfastblocks;
check_malloc_state (av);
avail = chunksize (av->top);
nblocks = 1; /* top always exists */
- /* traverse fastbins */
- nfastblocks = 0;
- fastavail = 0;
-
- for (i = 0; i < NFASTBINS; ++i)
- {
- for (p = fastbin (av, i);
- p != NULL;
- p = REVEAL_PTR (p->fd))
- {
- if (__glibc_unlikely (misaligned_chunk (p)))
- malloc_printerr ("int_mallinfo(): "
- "unaligned fastbin chunk detected");
- ++nfastblocks;
- fastavail += chunksize (p);
- }
- }
-
- avail += fastavail;
-
/* traverse regular bins */
for (i = 1; i < NBINS; ++i)
{
}
}
- m->smblks += nfastblocks;
m->ordblks += nblocks;
m->fordblks += avail;
m->uordblks += av->system_mem - avail;
m->arena += av->system_mem;
- m->fsmblks += fastavail;
if (av == &main_arena)
{
m->hblks = mp_.n_mmaps;
m.arena = m2.arena;
m.ordblks = m2.ordblks;
- m.smblks = m2.smblks;
+ m.smblks = 0;
m.hblks = m2.hblks;
m.hblkhd = m2.hblkhd;
m.usmblks = m2.usmblks;
- m.fsmblks = m2.fsmblks;
+ m.fsmblks = 0;
m.uordblks = m2.uordblks;
m.fordblks = m2.fordblks;
m.keepcost = m2.keepcost;
{
int arena; /* non-mmapped space allocated from system */
int ordblks; /* number of free chunks */
- int smblks; /* number of fastbin blocks */
+ int smblks; /* number of fastbin blocks (deprecated) */
int hblks; /* number of mmapped regions */
int hblkhd; /* space in mmapped regions */
int usmblks; /* always 0, preserved for backwards compatibility */
- int fsmblks; /* space available in freed fastbin blocks */
+ int fsmblks; /* space available in freed fastbin blocks (deprecated) */
int uordblks; /* total allocated space */
int fordblks; /* total free space */
int keepcost; /* top-most, releasable (via malloc_trim) space */
{
size_t arena; /* non-mmapped space allocated from system */
size_t ordblks; /* number of free chunks */
- size_t smblks; /* number of fastbin blocks */
+ size_t smblks; /* number of fastbin blocks (deprecated) */
size_t hblks; /* number of mmapped regions */
size_t hblkhd; /* space in mmapped regions */
size_t usmblks; /* always 0, preserved for backwards compatibility */
- size_t fsmblks; /* space available in freed fastbin blocks */
+ size_t fsmblks; /* space available in freed fastbin blocks (deprecated) */
size_t uordblks; /* total allocated space */
size_t fordblks; /* total free space */
size_t keepcost; /* top-most, releasable (via malloc_trim) space */