A method comprising: generating, by a policy controller, a policy to apply within a data center; distributing the policy, by the policy controller, to a policy agent executing on a computing device included within the data center, wherein the computing device includes processing circuitry having a plurality of processor cores; monitoring usage metrics relating to a resource shared by the plurality of processor cores, wherein the resource is a cache, and wherein a usage metric is a value that measures an amount of the resource, for a characteristic of the resource, that is consumed by a process; mapping a first subset of the usage metrics to a first process and mapping a second subset of the usage metrics to a second process, wherein both the first process and the second process execute within a virtual computing environment executing on the processing circuitry; determining, based on the mapped usage metrics and the policy, that the first process is using the resource in a manner that adversely affects the performance of the second process; wherein: the determining comprises comparing the mapped usage metrics to a dynamic threshold, the dynamic threshold being a historical trend value or a historical baseline for the resource; prior to determining that the first process is using the cache in a manner that adversely affects the performance of the second process, allocating a substantially equal portion of the cache to each of the first process and the second process; and responsive to determining, restricting access to the resource by the first process, wherein restricting access to the cache by the first process includes reducing the portion of the cache accessible by the first process. generating, by a policy controller, a policy to apply within a data center; distributing the policy, by the policy controller, to a policy agent executing on a computing device included within the data center, wherein the computing device includes processing circuitry having a plurality of processor cores; monitoring usage metrics relating to a resource shared by the plurality of processor cores, wherein the resource is a cache, and wherein a usage metric is a value that measures an amount of the resource, for a characteristic of the resource, that is consumed by a process; mapping a first subset of the usage metrics to a first process and mapping a second subset of the usage metrics to a second process, wherein both the first process and the second process execute within a virtual computing environment executing on the processing circuitry; determining, based on the mapped usage metrics and the policy, that the first process is using the resource in a manner that adversely affects the performance of the second process; wherein: the determining comprises comparing the mapped usage metrics to a dynamic threshold, the dynamic threshold being a historical trend value or a historical baseline for the resource; prior to determining that the first process is using the cache in a manner that adversely affects the performance of the second process, allocating a substantially equal portion of the cache to each of the first process and the second process; and responsive to determining, restricting access to the resource by the first process, wherein restricting access to the cache by the first process includes reducing the portion of the cache accessible by the first process.