BigMemory Ready to Slay Java GC Problems

DZone 's Guide to

BigMemory Ready to Slay Java GC Problems

· Java Zone ·
Free Resource
"Big Memory is a GC murder weapon from Terracotta, like [an] AA12 Shotgun," exclaims Himadri Singh, a performance engineer at Terracotta.  Today, that weapon is generally available to Java architects who want to finally end the slow downs in Java garbage collection without having to partition their apps into separate VM instances or into many servers that aren't using their full capacity.  DZone spoke with Terracotta CEO Amit Pandey about the beta testing for BigMemory and today's release announcement.

BigMemory can now provide up to 256GB of in-process, off-heap memory in a single JVM.  It's also trivially easy to implement:

Step One:  Update the Java classpath and startup arguments to include the new
ehcache-2.3 jar and allocate sufficient memory for the BigMemory off-heap

Step Two:  Update the cache configuration in ehcache.xml to set the size of the
BigMemory off-heap store.
<cache name="mycache" maxElementsInMemory="10000"
overflowToOffHeap="true" maxMemoryOffHeap="4G"/>
More discussion on the nuances of BigMemory can found here.

Pandey said that Terracotta had already sold BigMemory to some companies before they were out of beta.  Some of Terracotta's beta testers included financial institutions, and the web division of News Corps.  The customer stories he shared with us included a French company that was able to cut its 25 VMware instances down to just two because of BigMemory.  Companies reported 2x throughput with half the latency.  An e-commerce site found BigMemory to be especially time-saving when it took them about three hours to get their application running within the confines of their uncommonly stringent SLA (Service Level Agreement).  Before BigMemory, that tuning took three months.  

BigMemory is an add-on to Enterprise Ehcache, and its pricing starts at $500 per gigabyte annually.  See Himadri Singh's performance tests here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}