stat |
The memory management counters are returned in a stat record.
The fields of this record are:
-
minor_words Number of words allocated in the minor heap since
the program was started.
-
promoted_words Number of words allocated in the minor heap that
survived a minor collection and were moved to the major heap
since the program was started.
-
major_words Number of words allocated in the major heap, including
the promoted words, since the program was started.
-
minor_collections Number of minor collections since the program
was started.
-
major_collections Number of major collection cycles, not counting
the current cycle, since the program was started.
-
heap_words Total size of the major heap, in words.
-
heap_chunks Number of times the major heap size was increased
since the program was started (including the initial allocation
of the heap).
-
live_words Number of words of live data in the major heap, including
the header words.
-
live_blocks Number of live blocks in the major heap.
-
free_words Number of words in the free list.
-
free_blocks Number of blocks in the free list.
-
largest_free Size (in words) of the largest block in the free list.
-
fragments Number of wasted words due to fragmentation. These are
1-words free blocks placed between two live blocks. They
cannot be inserted in the free list, thus they are not available
for allocation.
-
compactions Number of heap compactions since the program was started.
The total amount of memory allocated by the program since it was started
is (in words) minor_words + major_words - promoted_words . Multiply by
the word size (4 on a 32-bit machine, 8 on a 64-bit machine) to get
the number of bytes.
= {
minor_words |
: float ;
|
promoted_words |
: float ;
|
major_words |
: float ;
|
minor_collections |
: int ;
|
major_collections |
: int ;
|
heap_words |
: int ;
|
heap_chunks |
: int ;
|
live_words |
: int ;
|
live_blocks |
: int ;
|
free_words |
: int ;
|
free_blocks |
: int ;
|
largest_free |
: int ;
|
fragments |
: int ;
|
compactions |
: int ;
|
} |