Hi,
We're troubleshooting a high CPU usage problem and in looking at the heap dump we have a large number of java.lang.ref.Finalizer objects. When I list the references I see 28,231 occurances of java.net.SocksSocketImpl occupying 5,194,504 of heap space. Any idea of what this is?
large number of java.lang.ref.Finalizer
Are you using VisualVM? If not I would highly encourage to do so. Version 1.3 comes with a sampling profiler that is just great: https://visualvm.dev.java.net/
I have no idea as regards the finalizers... I have never noticed that. It may depend on many things. Essentially those objects are created for every Class that implements a custom finalize() method.
In general I don't think they should raise any concern, but they might show up in the memory in high count because the GC treats them differently than young generation objects. They end up in the Finalizer thread queue which takes care of them in background.
I have no idea as regards the finalizers... I have never noticed that. It may depend on many things. Essentially those objects are created for every Class that implements a custom finalize() method.
In general I don't think they should raise any concern, but they might show up in the memory in high count because the GC treats them differently than young generation objects. They end up in the Finalizer thread queue which takes care of them in background.