Patent ID: 8099577

Claim:
A method for automatically tuning a memory of a computer system, comprising the steps of: receiving data that designates an amount of the memory to be used, collectively, by a first memory area and a second memory area; wherein addresses in the first memory area are accessible to multiple processes; wherein each address in the second memory area is dedicated to at most one process; establishing a division of said amount between the first memory area and the second memory area; generating an estimate of how changing the division of said amount between the first memory area and the second memory area will affect performance of the computer system; wherein generating the estimate comprises: estimating how performance of workload in the first memory area would change if the amount of memory in the first memory area were to increase or decrease, and estimating how performance of workload in the second memory area would change if the amount of memory in the second memory area were to increase or decrease; based on the estimate, determining a new division of said amount between the first memory area and the second memory area; and without restarting the computer system, changing the division of said amount to the new division by: deallocating a particular amount of memory from one of the set consisting of the first memory area and the second memory area, and allocating said particular amount of memory to the other of said set; wherein the steps are performed by one or more computing devices.