1. A method for tuning memory allocated among a plurality of applications running on a common data processing system, wherein each application includes a plurality of individual memory consumers, the method comprising: generating benefit data for the individual memory consumers of each of the plurality of applications on the common data processing system, wherein the benefit data for each individual memory consumer indicates a benefit gained by that individual memory consumer obtaining additional memory; generating overall memory benefit data for each application by mathematically combining the generated benefit data for the individual memory consumers of that application, wherein the overall memory benefit data for each application indicates a benefit gained by that application obtaining additional memory; comparing the generated overall memory benefit data associated with each of the plurality of applications to determine memory needs of the applications; determining memory allocated among the plurality of applications to reallocate and dynamically reallocating the memory from one or more of the plurality of applications with a lesser memory need to one or more other of the plurality of applications with a greater memory need based on the comparison of overall memory benefit data; and re-distributing memory allocated to one or more of the applications among the individual memory consumers of those applications based on consumer benefit data for each individual memory consumer indicating a benefit gained by that individual memory consumer obtaining additional memory.