Re: Outrigger memory leak?
Dan Creswell <[email protected]> Wed, 3 Jan 2007 20:07:55 +0000
| Newsgroups | gmane.comp.java.sun.javaspaces |
|---|---|
| Message-ID | <[email protected]> |
Greg Trasuk wrote: > Hi Dan: > > Thanks for responding; see interspersed comments. > > I noted your web page entry regarding Blitz's caching strategy, and the > fact that running with reduced heap size will subvert it, so you have to > match the cache size to heap size. However I can't see any mention of a Yes, the idea is that you decide how much heap you can afford and then tweak Blitz to work within that limit. > similar requirement with Outrigger. > To the best of my knowledge there isn't one. Blitz has the ability to swap/page entry's hence it's cache driven architecture - Outrigger doesn't do this stuff and thus has no knobs to tweak in this respect. > I take it you haven't seen this type of thing before (at least with > Blitz)? > When I have it's been due to a genuine leak! :) Actually I've seen a few cases where the permanent generation gets exhausted due to classloader usage in certain apps - never seen that on Blitz though and I suspect the way it does things means that won't be a problem (I also suspect Outrigger would be similar in that regard). It might be worth giving your Harvester/Outrigger plugin a check though as that may be causing issues. I routinely run soak and thrash tests to spot leaks before I do a release and I use visual gc to monitor for that stuff and a profiler if I think there's a leak that needs isolating. > Cheers, > > Greg. > > On Wed, 2007-01-03 at 14:01, Dan Creswell wrote: >> Gregg Wonderly wrote: >>> Greg Trasuk wrote: >>>> Am I missing something in the configuration? The problem is >>>> independent of whether Outrigger is run under Harvester or from the >>>> Launch-All script in the starter kit. I haven't found any other bug >>>> reports, and I find it hard to believe I've found a bug in a mature >>>> product. Any suggestions? >>> Can you try the same application with Blitz to see if there is any >>> difference? >>> I'd guess that you are not using enough heap. Are you configuring >>> -mx512m on >>> the command line, or how are you starting the JVM that you think has a >>> 512M heap? >>> >> Well, I was thinking about that tactic myself but you'd need to setup >> Blitz's cache sizes and stuff to make sure it all fits into available >> memory. >> >> Otherwise you could see what looks like a leak but is just being >> provoked by mis-configuration. >> >> I can help out with that but: >> >> "the Outrigger instance runs out of heap after >> about 2100 iterations with a payload size of 250e3 bytes." >> > > Betraying my engineering roots; read the above as 250,000 bytes. Ah, okay. Are you running persistent or transient Outrigger? > >> I wasn't sure if that is a size in hex or a typo????? >> >> It could be heap but I'm not clear why as a quick look at the code >> suggests there's not a huge number of entry's lying around in the space >> at any moment. Unless of course we've got some backlog of entry's >> forming somehow which I didn't think was likely for this case. >> > > That's exactly my issue; the Space is being used for communications > rather than storage, so I would expect very little sustained memory > usage, no matter how big the entries are. I'd expect the VM to grow > (i.e soak memory from the operating system) as needed for burst > capacity, but the actual heap used should stay relatively small. > Okay, well the only way to get the backlog is for takers to be slower than writers which didn't seem probable with your simple test case. Dan. =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff JAVASPACES-USERS". For general help, send email to [email protected] and include in the body of the message "help". To view past JAVASPACES-USERS postings, please see: http://archives.java.sun.com/archives/javaspaces-users.html