Difference between revisions of "Gc info"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
== Column "Store left" == |
== Column "Store left" == |
||
+ | This is the number of free objects left in the "store chunk" of the specified type. This number is mainly interesting because it is zero for the type that triggered the collection cycle. Here's why: the gc will firstly allocate new objects in the store chunk. Only when there is no store left will the gc start looking for space elsewhere, which will result in one of the following outcomes: |
||
− | I conjecture this means the memory allocated but not occupied after the GC cycle, and the unit is that of column "Total size". Is this right? |
||
+ | * Previously reclaimed garbage is recycled as a new object. |
||
+ | * A new store chunk is allocated. |
||
+ | * A garbage collection cycle is started. If garbage of the correct type was reclaimed, garbage is recycled. Else, a new store chunk is allocated. |
||
− | == Where is the information about the freed memory? == |
+ | == Where is the information about the freed memory, i.e. about the effect of the last GC cycle? == |
+ | I am sad to report that this information is currently missing. |
||
− | i.e. about the effect of the last GC cycle? |
||
== What does the cryptic final lines mean? == |
== What does the cryptic final lines mean? == |
||
+ | * C-stack=xx is the number of pointers in the stack, i.e. the number of conservative roots. |
||
− | * C-stack=xx |
||
* main-table=xx/yyyy |
* main-table=xx/yyyy |
||
* fsoc:xx(free=yy ceil=zz) |
* fsoc:xx(free=yy ceil=zz) |
Revision as of 11:11, 9 September 2005
Column "Number created"
This is the number of objects (of the specified type) created since program start, (i.e. this figure is accumulative). This is not the number of actually existing objects.
Column "Total size"
This is the same as "Number created", except the unit is bytes.
Column "Store left"
This is the number of free objects left in the "store chunk" of the specified type. This number is mainly interesting because it is zero for the type that triggered the collection cycle. Here's why: the gc will firstly allocate new objects in the store chunk. Only when there is no store left will the gc start looking for space elsewhere, which will result in one of the following outcomes:
- Previously reclaimed garbage is recycled as a new object.
- A new store chunk is allocated.
- A garbage collection cycle is started. If garbage of the correct type was reclaimed, garbage is recycled. Else, a new store chunk is allocated.
Where is the information about the freed memory, i.e. about the effect of the last GC cycle?
I am sad to report that this information is currently missing.
What does the cryptic final lines mean?
- C-stack=xx is the number of pointers in the stack, i.e. the number of conservative roots.
- main-table=xx/yyyy
- fsoc:xx(free=yy ceil=zz)
- rsoc:xx(ceil=yy)