claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
sam2000 has joined #jruby
dannyNL has joined #jruby
sam2000_ has joined #jruby
dannyNL has quit [Client Quit]
<sam2000_>
Hi Guys, I am trying to do some Jruby memory profiling for a rails up. I tried using VisualVM and found there is an increasing number of instances of some java collection classes and I am not sure where they are coming from. Java. Util.HashMap nodes and Hashmaps top the list. Any ideas please?
<sam2000_>
To add some more details - I am using Jruby 9.1.2 with rails 4 - I am not using any global variables. This things is really driving me nuts so I would really appreciate any help please
enebo has quit [Quit: enebo]
dannyNL has joined #jruby
dannyNL has quit [Client Quit]
claudiuinberlin has quit [Remote host closed the connection]
pawnbox has quit [Ping timeout: 240 seconds]
pawnbox has joined #jruby
claudiuinberlin has joined #jruby
claudiuinberlin has quit [Remote host closed the connection]
sam2000 has quit []
sam2000_ is now known as sam2000
cprice has joined #jruby
cprice has quit [Client Quit]
cprice404 has quit [Ping timeout: 248 seconds]
pawnbox has quit [Remote host closed the connection]
sam2000 has quit [Quit: sam2000]
pawnbox has joined #jruby
dannyNL has joined #jruby
dannyNL has quit [Client Quit]
pawnbox has quit [Ping timeout: 276 seconds]
pawnbox has joined #jruby
pilhuhn has quit [Quit: Computer has gone to sleep.]
claudiuinberlin has joined #jruby
<chrisseaton>
JRuby uses those classes internally for many things
<chrisseaton>
I'm not sure how you'd pin it down further
<chrisseaton>
Are you doing anything like dynamically creating lots of classes?
dannyNL has joined #jruby
dannyNL has quit [Client Quit]
sam2000 has joined #jruby
sam2000 has quit [Client Quit]
sam2000 has joined #jruby
enebo has joined #jruby
<sam2000>
Thanks very much for reply @chrisseaton. If it is used by Jruby internally then Maybe I shouldn’t worry about it. When I profiled I noticed that the number of instances seem to increase with requests. At the moment it is around 200,000 and it increases by about 20,000 after a few requests. But it doesn’t seem to take a lot of memory though. The heap size looks pretty much flat. Although you can see a tiny increase if yo
<sam2000>
look at the exact numbers
<chrisseaton>
If you are allocating new hash map nodes while handling requests, after everyone is loaded, that may be indicative that something isn't right
<chrisseaton>
Such as classes being created dynamically
<chrisseaton>
After everything is up and running I can't see why you'd need new hash map nodes
<sam2000>
So you think there must be a problem somewhere then? I am wondering what would be the next step in getting closer to the problem? Could you suggest anything please?
<chrisseaton>
Are you able to say how many hash map nodes are being allocated per second?
<chrisseaton>
Maybe give the app 3 minutes to warm up, put it under heavy load, and then see how many are allocated
<chrisseaton>
Then open an issue if it's more than a few hundred per second or something
<chrisseaton>
Ping me on it
<sam2000>
I have just looked at the 3 heap dumps i have taken recently and it has increased by 35000 in five imnutes and then increased by about 26000 in about 20 minutes. I can do some more testing but do these numbers look normal ?
<sam2000>
The numbers are the number of hasmap node instances
<sam2000>
By the way these heap dumps are taken with very little load, just a few requests I made by hand using a browser, not more than 30 - 40 requests between dumps
sam2000 has left #jruby [#jruby]
sam2000 has joined #jruby
sam2000 has left #jruby [#jruby]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 260 seconds]
sam2000 has joined #jruby
Puffball has quit [Remote host closed the connection]
<sam2000>
Thanks @chrisseaton I did some test and after the initial rise after start up, it is about 70 per second. From what you were saying I am guessing this is to be expected?
Puffball has joined #jruby
claudiuinberlin has quit []
Puffball has quit [Remote host closed the connection]