You can monitor the freespace-manager to find out more about the runtime behavior of your application.
To monitor the freespace manager you need to add the monitoring support to the db4o configuration.
configuration.common().add(new FreespaceMonitoringSupport());
AverageSlotSize: Tells you how big the average slot is. When you store larger objects, they need larger slots to fit it.
ReusedSlotsPerSecond: Tells you how many slots can be reused. When an object is deleted or modified, its old slot is released and can be reused. If you modify and delete a lot of objects, but the slots cannot be reused, then the database-file will fragment.
When this number is low but the free-space increases and increases then you have a fragmentation issue. Defragment your database. Use the btree-id-system.
SlotCount: Tells you how many slots are used by the database. As more and more objects are stored, the slot count will increase.
TotalFreespace: Tells you how much freespace there is in the database-file.A hight free-space number with a low reused slots number indicates database fragmentation. Defragment your database. Use the btree-id-system.