1. A computer-executed method for monitoring threads in a non-uniform memory access (NUMA) computer system having a plurality of processors and a plurality of portions of memory, wherein each said processor accesses each memory portion in a respective memory access time, at least some of said respective memory access times being different, the set of respective memory access times for a first processor being different from the set of respective memory access times for a second processor, the method comprising the steps of: executing a plurality of monitored threads, each monitored thread being associated with a respective said portion of memory; invoking a monitoring process for automatically collecting data for said plurality of monitored threads; executing said monitoring process on a first plurality of said processors of said NUMA computer system to collect data for said plurality of monitored threads, wherein said monitoring process executes in each processor of said first plurality of processors to collect data for each monitored thread of a respective subset of said plurality of monitored threads, the respective subset being determined according to the respective portion of memory with which each monitored thread is associated.