1. A computer readable storage medium with an executable program to tune garbage collection of virtual machines stored thereon, the wherein the program instructs a microprocessor to perform: update updating a load variable to reflect that a new garbage collection process has started, the load variable having a value that is based at least in part on a number of garbage collection processes that are currently running on a physical computing device; obtaining the current value of the load variable; deriving a thread variable based at least in part on the current value of the load variable; determining a number of garbage collection threads to participate in garbage collection based at least in part on the thread variable, where the garbage collection threads are used to perform at least a portion of at least one phase of the new garbage collection process; using a number of garbage collection threads for at least a portion of the garbage collection process; and re-updating the load variable to reflect completion of the new garbage collection process.