[Vm-dev] Trying to understand tenuring

Norbert Hartl norbert at hartl.name
Fri May 8 06:43:40 UTC 2015


I'm inspecting memory behaviour at the moment. I have an image that receives roughly 1 request/s a zinc request. The request is processed without a notable amount of objects created on its way. Every 5 seconds it opens a zinc client connection to another host. That's basically all what happens. 

Looking at the memory consumption I get



What puzzles me is the growth of old space. The requests take a few milliseconds. The maximum time the objects are in image are the few milliseconds of processing time and the 5 seconds of buffering. Looking at the garbage collections I get




So doing the math gives me: We have a 160 milli garbage collections per second which is roughly a garbage collection every 6 seconds. A tenure is roughly every 10 GCs. So I would assume that an object needs to stay connected 60 seconds until it gets tenured. But all of the objects in the request don't live that long. How can I interpret the graph above where the old space is growing until a full GC?

Is there an easy explanation for this?

thanks,

Norbert
-------------- next part --------------
Skipped content of type multipart/related


More information about the Vm-dev mailing list