
jmalloc
Garbage Collection tuning has been sore pain point in large JVMs esp 64-bit. jmalloc implements simple malloc kind of function for storing java object in native off-heap memory away from garbage collection. You can use it to maintain huge cache hidden from GC using memory available in system not used by JVM heap. For objects who's life-cycle can be known beforehand and can be managed by had need not be subjected to java GC instead can be tracked "by-hand".
It has following advantages.
No GC overhead. jmalloc can store large number of object hidden from Java GC algorithms. It will allow to use unused memory in machine where Java Heap can be small enough to avoid unpredictable and large pauses but at the same time in-memory storage can scale to several GBs.
Disadvantage
It slower than Map or Ehcache due to object serialization so must be used only when GC is main cause of low performance
It is inspired by BigMemory from Terracotta.
Project Information
- License: Apache License 2.0
- 10 stars
- svn-based source control
Labels:
java
Concurrency
Performance
scalability