Java Garbage Collection Characteristics and Tuning Guidelines for Apache Hadoop TeraSort Workload