Page 1 of 1

Memory leaks?

PostPosted: Sun Nov 22, 2015 3:22 pm
by Brosh
Is it just me, or is there some huge memory leak going down atm? My server has been online for a day now, and it's just eating memory like nobodies business. I haven't done a manual re-scan, but it will have done one automatically, but the memory leak appears to be primarily related to what you stream... In my case, it seems to leak worst when streaming video content...

After a day:
Image

After a minute:
Image

Any suggestions on how this might be prevented? RAM is a somewhat limited resource on the machine this is running on, and I may be forced to switch to another streamer if I can't at least slow this down.

Re: Memory leaks?

PostPosted: Wed Nov 25, 2015 10:22 pm
by CitrusCitrus
I never really checked to see if my problem was a memory leak but I was noticing that after approximately 24 to 48 hours after starting up my subsonic server, it would no longer load. It could've been due to a memory leak. This was on version 5.3. I never looked into the reason but instead rolled back to 5.2.1 and my problem was resolved.

Re: Memory leaks?

PostPosted: Wed Nov 25, 2015 10:32 pm
by Brosh
CitrusCitrus wrote:I never really checked to see if my problem was a memory leak but I was noticing that after approximately 24 to 48 hours after starting up my subsonic server, it would no longer load. It could've been due to a memory leak. This was on version 5.3. I never looked into the reason but instead rolled back to 5.2.1 and my problem was resolved.


Not quite the thing I saw, but could just be a similar cause. I didn't actually notice the leak until I upgraded from 2GB to 10GB RAM, since previously it was always intermittently stuttery, I kinda blamed it on a bit of network latency, or Chrome being a bit of a knob... I noticed I was using swapspace one day, and decided to upgrade, now I just see the memory allocated for Subsonic expand constantly... 2 days takes 10GB. I didn't think Java was supposed to leak memory, but there are ways... I believe in Java parenthood is revoked by 2 levels, so if you have 3 levels of reference and drop the middle one, the first and last know nothing of their existence... At the same time, the third one still exists and is basically untracked, thus remains leaked.