1. A method for controlling access to a cache hierarchy, comprising: collecting cache statistics for a plurality of applications at every cache level of a multi-level cache using a hardware counter to periodically collect statistics on data cache misses, hits, and references for every level of the multi-level cache; evaluating the cache statistics for each of the plurality of applications against a predefined activity threshold for a victim cache level which is only populated with cast-offs from a higher level of the multi-level cache; preventing access to the victim cache level by a cache line from any application from the plurality of applications that does not meet the predefined activity threshold for the victim cache level; and moving the cache line from said application to a cache level below the victim cache level in the multi-level cache.