Sysbox: memlist

Sysbox: memlist

Usage: memlist [OPTION]...

List system memories or virtual spaces. This tool can print all memory chunks and virtual spaces added to the kernel. The displayed memory chunk list includes the available (regular allocatable memory) and hardware (not freely allocatable, requires exact addresses to able to allocate it) memories. The free space is also displayed for the normal (AVAIL type) memory chunks. For hardware memory chunks it is always zero.

The Type consists of two components:

  1. Type identifier (always even). By default, only the type-zero memories will be used for i.e. process heap.
  2. Flags.
    • MAIN: indicates the main memory only (exactly one chunk could have this flag)
    • AVAIL: indicates allocatable memory (in other word, not hardware memory)
    • PDINBASE: the page descriptor table is allocated in the base (or main) memory chunk; otherwise it is stored in the memory chunk itself (hardware memory chunks ignore this flag)

Options:

Examples:

$ memlist
            Handle            Start              End             Base             Size             Free Type
  0000000001000000 0000000000100000 000000000F9FFFFF 00000000001F9000 000000000F807000 000000000EF9D000 0 [ MAIN AVAIL ]
  0000000001000004 000000000FA00000 000000003E2FFFFF 000000000FCE7000 000000002E619000 000000002AFAE000 0 [ AVAIL ]
  0000000002000005 000000003E300000 000000003F7FFFFF 000000003E300000 0000000001500000 0000000001500000 0 [ AVAIL PDINBASE ]
  0000000005000917 00000000F0000000 00000000F0FFFFFF 00000000F0000000 0000000001000000 0000000000000000 0 [ ]
  0000000005000916 00000000F1000000 00000000F17FFFFF 00000000F1000000 0000000000800000 0000000000000000 0 [ ]
  0000000003000927 00000000F1800000 00000000F181FFFF 00000000F1800000 0000000000020000 0000000000000000 0 [ ]
  0000000001000318 00000000FC000000 00000000FC000FFF 00000000FC000000 0000000000001000 0000000000000000 254 [ ]
  000000000100031C 00000000FEC00000 00000000FEC00FFF 00000000FEC00000 0000000000001000 0000000000000000 0 [ ]
  000000000100031B 00000000FED00000 00000000FED00FFF 00000000FED00000 0000000000001000 0000000000000000 0 [ ]

9 memory chunks
$
$ memlist -v
            Handle            Begin              End             Size Type
  0000000001000006 0000010000000000 0000013FFFFFFFFF 0000004000000000 0 [ GLOBAL ]
  0000000001000007 0000020000000000 000002007FFFFFFF 0000000080000000 1 [ GLOBAL ]

2 virtual spaces
$