A method is provided for managing memory resources in a shared memory
system. A point is identified (10) at which memory usage will be
constrained. An object pertaining to an active user of the system is
identified (20), and further objects related to this object are also
found (30). A user memory footprint is then determined (40) from the
footprints of the identified objects. Different constraint options are
identified (50) and one of these is used to constrain (60) the user
memory footprint. In this way the memory used by individual users may be
tracked and constrained without having to place all the work from users
into separate JVMs. Therefore the `bursty` nature of memory consumption
by multiple users can be summed to result in a JVM which exhibits much
less bursty memory requirements and allows individual users to have
relatively relaxed constraints.