This document provides explanation for the various field of show jtree <> memory extensive command
What do the different values in show jtree <> memory extensive mean ?
ADPC3(leffe-re0 vty)# sho jtree 0 memory extensive Jtree memory segment <0/1> (Context: 0x449e0598) ------------------------------------------- Memory Statistics: 16777216 bytes total 4587712 bytes used 12187984 bytes available (12186624 bytes from free pages) 1512 bytes wasted 8 bytes unusable 32768 pages total 8963 pages used (8963 pages used in page alloc) 3 pages partially used 23802 pages free (max contiguous = 23801) Partially Filled Pages (In bytes):- Unit Avail Overhead 8 448 0 16 464 0 56 448 8 Free Page Lists(Pg Size = 512 bytes):- Page Bucket Avail(Bytes) 1-1 512 27-32768 12186112 Fragmentation Index = 0.000, (largest free = 12186112) Counters: 38 allocs (0 failed) 0 releases(partial 0) 23 frees 0 holds 0 pending frees(pending bytes 0) 0 pending forced 0 times free blocked 0 sync writes Error Counters:- 0 bad params 0 failed frees 0 bad cookie
The hidden keyword “help” for this command explains the different fields of this output
Example :
ADPC3(leffe-re0 vty)# sho jtree 0 memory extensive help
Bytes available from free pages:
Memory present in entire free pages, as opposed to space present in partially allocated pages
Wasted:
Space wasted because requested allocations are not a multiple of page size
Unusable:
Small allocations are satisfied by carving a page into fixed size chunks. Unsuable is the memory wasted because
the chunk size does not divide the page size evenly.
Pages used in page alloc:
Number of pages allocated because the application request was in multiple of pages
Partially Used:
Sum total of pages that are divided in chunks, and only some chunks have been allocated
Partial Filled Pages:
Lists of pages from which small sized allocations are satisfied. Multiple chunk sizes have been chosen to satisfy all sorts of allocations. Each line displays the details for a given chunk size. The overhead column is the space wasted in this size
Free Page Lists:
Lists of pages from which larger sized allocations are satisfied. There are multiple buckets, depending on the number of of pages in each request
Fragmentation Index:
Calculated as = 1 – (biggest_free_blk/total_avail_mem)
Misc. Counters:
Releases Number of times callers have requested that memory be made available to the free pool immediately as
opposed to first insert it in a pending list Pending Number of frees that are pending, as entries cannot be released to the free pool, because there could be some key engines processing those memories
Pending Forced
Number of entries forced off the pending list in order to make room for new free requests
Free Blocked
Some times a memory free request is blocked to wait for clearing out some entries in the pending list. This count records the number of such occurrences.
Sync Writes
During ISSU the allocator state is synced to the srams in one go. Count the number of writes we issued to get
an idea of the time taken.