Yes this sounds not right… So what are the steps to reproduce ? Fire up a vm, 
checkout vert.x master and run the build ?


> On 22 Jul 2016, at 00:51, Julien Viet <[email protected]> wrote:
> 
> Hi,
> 
> we are seing OOM "GC overhead limit exceeded"  issue in Vert.x test suite on 
> slow machines like Cloudbees or using virtualization on a laptop.
> 
> This issue means that the VM spend more time in GC than the rest of the VM 
> (98%), but I’m pretty sure everyone here knows that already.
> 
> In the case of Vert.x testsuite, it happens because we create and destroy 
> many Vertx instances and therefore many event loops / threads during the 
> tests.
> 
> I spent quite some time on the issue and I found that it happens because the 
> ThreadDeatchWatcher's Recycler DELAYED_RECYCLE fast thread local is a 
> WeakHashMap<Stack, WeakOrderQueue) used by the ThreadPoolCache grows and 
> retains many entries (up to 2000). This WeakHashMap contains recycled objects 
> with large footprint and also the Stack itself reference its Thread that has 
> a large footprint.
> 
> I am not saying it is a leak per se, but the maps grows and takes time to be 
> garbaged. This does not prevent the testsuite to run on a laptop but it slows 
> it down and on a slow machines it prevents running the testsuite entirely.
> 
> I believe this behavior was introduced by this commit : 
> https://github.com/netty/netty/commit/afafadd3d7caf1e4b346da049baab0afeae0a4bc
> 
> The change that makes the whole difference is : 
> https://github.com/netty/netty/commit/afafadd3d7caf1e4b346da049baab0afeae0a4bc#diff-23eafd00fcd66829f8cce343b26c236aR226
> 
> The introduction of the field stack in the WeakOrderQueue keeps a reference 
> on the Stack objects, however Stack instances are also weak keys of the fast 
> thread local WeakHashMap and therefore defeats the purpose of the 
> WeakHashMap. Not entirely as it is GC’ed but much less often and increase the 
> memory footprint.
> 
> let me know what you think
> 
> Julien
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Netty discussions" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/netty/2A547499-D279-4286-AA95-3447EE2B621E%40julienviet.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Netty discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/netty/D5C167E1-D3C3-4B8F-B4B8-FD4D1793BC1F%40googlemail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to