Channelstram should null the buffer in close()
----------------------------------------------
Key: JRUBY-2637
URL: http://jira.codehaus.org/browse/JRUBY-2637
Project: JRuby
Issue Type: Bug
Components: Performance
Affects Versions: JRuby 1.1.2
Reporter: Markus Kohler
http://fisheye.codehaus.org/browse/jruby/trunk/jruby/src/org/jruby/util/io/ChannelStream.java
has a Finalizer.
It appears that when running rails using webrick that even under very light
load a relatively high amount of memory is consumed in
for instances of java.lang.ref.Finalizer, for example 3,7% of the memory
without an rails application running.
Most of the memory is consumed by the ChannelStream class above. It seems to me
that the reason is that the buffer instance variables is not set to null during
close.
This is not a good idea, because under heavy load I would expect much more
ChannelStreams to be created and then the pressure on the GC to clean the
Finalizer queue will increase.
I can provide a heap dump and some guidance to analyze the dump with the
Eclipse Memory Analyzer if you need it.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email