THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
These stats would be available via JMX and gfsh.
These stats could be described as follows in the Geode documentation:
- largestFragment: Largest off-heap memory fragment that can be used to allocate an object. When an object is allocated from a fragment, the size of the fragment is decreased with the size of the object plus some heading and possibly some alignment bytes.
- freedChunks: Number of off-heap memory chunks that have been freed since the last defragmentation and that are not currently being used to store an object in the off-heap memory space.
There are two types of chunks depending on the size of them: tiny if the size is lower than OFF_HEAP_ALIGNMENT* OFF_HEAP_FREE_LIST_COUNT (default = 512K) and huge if the size is greater.
These chunks can also be used to allocate objects in the off-heap but the size of the freedChunk must comply with some conditions with respect to the object to be allocated. In order to allocate an object of tiny size X, a tinty freedChunk of size between X and X-OFF_HEAP_ALIGMENT-1 must be found. In order to allocate an object of huge size X, a huge freedChunk of size between X and X-256-1 must be found.
Other information that could be added to the off-heap documentation could be:
- When an off-heap object is freed, a freedChunk entry is created in either the tiny or the huge list depending on the freed memory.
- When defragmentation is run, Geode takes all freedChunks and remains of fragments and creates a new set of fragments by concatenating adjacent freedChunks and fragments.
Changes and Additions to Public Interfaces
...