1. A method comprising: utilizing a processor to execute computer code configured to perform the steps of: accepting data for thread local storage, the thread local storage comprising threads for monitoring virtual machines, wherein each thread stores and processes data structures locally without storing a variable on a stack; monitoring memory usage in thread local storage via determining thread activity; and allocating to the thread local storage a memory block for storing accepted data, based on the monitored memory usage; said allocating comprising determining a memory block size correlated to thread activity.