1. A method for non-uniform memory access aware garbage collector thread processing, comprising: assigning a plurality of processing units and a plurality of memories to a plurality of lgroups, utilizing at least one processing unit of the plurality of processing units, based on access latency between each of the plurality of processing units and each of the plurality of memories; dividing, utilizing the at least one processing unit, a heap space into a plurality of pools, each of the plurality of pools stored in one of the plurality of memories, each of the plurality of pools assigned to one of the plurality of lgroups according to the lgroup of the memory the respective pool is stored in; providing, utilizing the at least one processing unit, a plurality of garbage collector threads with a plurality of queues, each of the plurality of garbage collector threads including at least a first queue of the plurality of queues for objects contained in one of the plurality of pools assigned to a same lgroup as the respective garbage collector thread and at least a second queue of the plurality of queues for objects contained in one of the plurality of pools assigned to a different lgroup from the respective garbage collector thread; and executing the plurality of garbage collector threads, utilizing the at least one processing unit, such that each garbage collector thread: first processes the at least the first queue, second processes queues of other garbage collector threads of the plurality of garbage collector threads that are for objects contained in one of the plurality of pools assigned to the same lgroup as the respective garbage collector thread, third processes the at least the second queue, and fourth processes queues of other garbage collector threads of the plurality of garbage collector threads that are for objects contained in one of the plurality of pools assigned to the different lgroup from the respective garbage collector thread.