Deallocating memory pages
yamauchi at google.com
Fri Jan 25 23:12:32 UTC 2013
I haven't talked to you for a while. I hope you are doing well :)
This is a nice feature but I'm asking myself what type
> of applications would see significant footprint reductions.
> Would they be
> 1) applications whose heap usage varies significantly
> over time so that there are periods when some large
> fraction of the heap is unused and
Yes. Especially multiple applications with workload variations running on a
(shared) machine. Under this sort of environment, it seems to make things
work more nicely as a whole from a machine/memory resource utilization
point of view because it's not uncommon (in my opinion) to see some
applications happen to be currently running with higher workload and
needing more RAM while others happen to be currently running with lower
workload and needing less RAM at a point in time in a shared machine.
In server applications, this sort of workload variations can happen for
reasons such as capacity redundancy and time-of-day variations, etc. On
desktops, one might keep open all sorts of applications at the same time
such as web browsers, developer tools, graphics tools, etc. but might put
significant workload (or a temporary memory usage increase) on only one
application at a time. In such an environment, if an application that was
running with high workload in the past can release some RAM, it'd be much
nicer for other applications.
> 2) applications with many objects larger than a page so that freeing
> those objects could free memory.
Yes, but objects don't necessarily have to be larger than a page as long as
free chunks that are left after they are freed get coalesced together into
a free chunk that's larger than a page.
> Is that a good guess or is it more general than that?
I hope the above makes sense. I can discuss more if desired.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev