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


Reply via email to