Search code examples
javachronicle-queuechronicle-map

Chronicle maps and queues is part of application JVM heap or not


In case anyone is using Chronicle Map, can you tell if Chronicle maps and queues sizes are part of application JVM heap or not.

I have an application which listens on Chronicle Queue and then has multiple Chronicle maps. I have allocated 16GB as max heap size for my application. Individual maps have their entry sizes, key and value sizes defined. And say I have four maps each growing up to 5 GB each.

What I don't know is where can I see the memory utilised by queues and maps. Also, if my application having 16GB is sufficient.


Solution

  • Chronicle's products all use mapped files. Mapped files are not part of JVM heap, instead they are using off-heap memory. Chronicle Queue and Map are used in microservices with 256M heap and with a lot of queues.

    Regarding the memory usage, Chronicle's products allocate memory in chunks, you won't have the whole map or queue file mapped into RAM in normal usage scenarios. The good idea of current memory usage is RSS.