1. A computer implemented method to manage thread performance in a computing environment, the method comprising: assigning a thread performance counter to threads being created in the computing environment, the thread performance counter measuring a number of cache misses for a corresponding thread; calculating a self-thread value S as a change in the thread performance counter of a given thread during a predetermined period; calculating an other-thread value O as a sum of changes in all the thread performance counters during the predetermined period minus S; estimating a cache occupancy of a cache for the given thread based on estimating cache misses that occurred since a previous estimate of a previous occupancy E for the given thread using the self-thread value S and the other-thread value O and estimating a fraction of the previous occupancy E unaffected by the cache misses that occurred since the previous estimate using the previous occupancy E for the given thread, the self-thread value S and the other-thread value O, wherein the cache occupancy indicating an estimated amount of data that is stored in the cache for the given thread; and assigning computing environment resources to the given thread based on the estimated cache occupancy.