Date: | Tue, 1 Dec 2009 11:05:21 -0600 |
---|---|
From: | Dan Gibson <degibson@xxxxxxxx> |
Subject: | Re: [Gems-users] Does ruby leak memory? |
Javier, As far as Ruby is concerned, It would be safe to reclaim memory used by a block when its no longer cache anywhere on-chip(s). In other words, if that block was ever accessed again, the DirectoryEntry constructor would restore the same state. We've never bothered to implement block recycling because the memory usage of Simics has always been large anyway (though it can be helped with set-memory-limit), and its difficult to tell when blocks really are no longer cached (e.g., it is protocol specific). Let me, and the list, know how your experiment goes with freeing old blocks. I've poked around a bit myself and haven't found any other likely culprits (that is not proof that they dont' exist!) -- but anecdotally, Ruby is stable to run for weeks at a time in some of my longer simulations. You might try is allocating a whole bunch of DirectoryEntry objects to figure out how quickly the heap grows as a function of number of DE allocations. You can then plot the number of true DE allocations in a real Ruby run and see what the covariance is between the observed heap growth rates. As far as the history of InvalidateBlock, I'm unsure. Most of my work has been in the lowest levels of Ruby near the Simics API. Perhaps the rest of the list can shed more light on that. Good luck. Regards, Dan 2009/12/1 Javi Merino <jmerino@xxxxxxxxxxxxx>
-- http://www.cs.wisc.edu/~gibson [esc]:wq! |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [Gems-users] Does ruby leak memory?, Javi Merino |
---|---|
Next by Date: | Re: [Gems-users] Does ruby leak memory?, Derek Hower |
Previous by Thread: | Re: [Gems-users] Does ruby leak memory?, Javi Merino |
Next by Thread: | Re: [Gems-users] Does ruby leak memory?, Derek Hower |
Indexes: | [Date] [Thread] |