I am still confused. I understand the notion of sometimes wanting to go about capacity, but either way (max-heap or ram-slop), isn't it true that the first thing is to say how much RAM a process can use, and then, given that number, what kind of GC to do (via stop-and-copy vs. 2-space)? I don't see why it is always using the physical to determine the latter.