I’ve had a slave running for about a week and a half in -nogui mode, and it currently has over 1,860 MB of RAM allocated, and does not release it when things start getting tight elsewhere in the system (this is on Fedora 19). Compare this to Pulse, which is still sitting at around 28 MB.
Granted, this is still with 6.2.0.16, but since I didn’t see any mention of memory leak or usage fixes in the beta 4/5 release notes, I figured it might be worth mentioning.
Do you use any custom plugins? If so, do they implement the CleanupDeadlinePlugin function? This was something we added in 6.1 because some things need manual cleanup, like all the callbacks that are hooked up. If this function isn’t implemented, or not everything is being cleaned up by it, that would explain the leak.
If you are using custom plugins, maybe you could post them and we’ll have a look.
I am, and it does implement the CleanupDeadlinePlugin function. However, I haven’t been running any jobs… the slave has just been idling and slowly allocating more and more memory.
Interesting. I’ve just started running two slaves on the same machine - one with a GUI and one without. I’m also testing on Linux and Windows. We’ll watch to see if either of the nogui slaves climb in memory like this over time while processing 0 jobs.
Just an update that I’m at 3 hours now, and none of the slaves have shown any indication that they are leaking. I will let these run overnight, and should be able to keep then running over the weekend as well.
Oh, I guess I should add that the slave is running in license-free mode… that may turn out to be an important detail. My current slave process is over 1,900 MB now, so the leak is pretty steady.
Interesting… I came in this morning and the slave’s memory had not increased, so I’ve restarted it and now it’s running in license free mode. I’ll keep an eye on it.
Thomas should be able to cut you guys a license (if you guys don’t have one already) so you can confirm if the problem only happens in license free mode.
I was never able to reproduce this back when you originally reported this.
So I’m finally using licensed slaves, and they appear to be managing their memory usage properly now. I guess there’s something different about a slave running in unlicensed mode (maybe just the amount of extra output it generates) that ends up getting leaked.
Anyway, this probably isn’t worth worrying too much about, but it’s definitely still there.