Memory Reclamation by Garbage Collectors: SPECjvm 2008 (original) (raw)
Related papers
Implementing an on-the-fly garbage collector for Java
ACM SIGPLAN Notices, 2001
Java uses garbage collection (GC) for the automatic reclamation of computer memory no longer required by a running application. GC implementations for Java Virtual Machines (JVM) are typically designed for single processor machines, and do not necessarily perform well for a server program with many threads running on a multiprocessor. We designed and implemented an on-the-fly GC, based on the algorithm of Doligez, Leroy and Gonthier [13, 12] (DLG), for Java in this environment. An on-the-fly collector , a collector that does not stop the program threads, allows all processors to be utilized during collection and provides uniform response times. We extended and adapted DLG for Java (e.g., adding support for weak references) and for modern multiprocessors without sequential consistency, and added performance improvements (e.g., to keep track of the objects remaining to be traced). We compared the performance of our implementation with stop-the-world mark-sweep GC. Our measurements sho...
Garbage Collection Tuning in Java: Techniques, Algorithms, and Best Practices
International Journal of Scientific Research & Engineering Trends, 2018
Garbage Collection (GC) is a critical aspect of Java's memory management, responsible for automatically reclaiming unused memory and preventing memory leaks. This paper provides a comprehensive overview of GC tuning as of mid-2018, exploring various GC algorithms, their tuning parameters, trade-offs, and monitoring techniques. By understanding GC behavior and leveraging tuning options, developers can enhance application performance and minimize GC overhead.
A Comparative Study of Garbage Collection Techniques in Java Virtual Machines
Garbage collection mechanisms implemented in Java Virtual Machines (JVMs) are used to reclaim memory allocated to the objects that become inaccessible during program execution. An efficient garbage collection mechanism certainly facilitates in smooth running of an application. This paper performs a comparative analysis of garbage collection techniques implemented in Sun HotSpot, Oracle JRockit and IBM J9 virtual machines. We perform experiments with several benchmarks containing dynamic creation for objects of TreeMap, ArrayList and String array data types. Due to the creation of a large number of big sized memory objects and loss of references, the garbage is created that is collected by the garbage collectors implemented in the virtual machines. The experiments are carried out on different hardware architectures including Intel Core 2 Quad and Intel Xeon based systems. The performance of each garbage collector is computed in terms of the rate of garbage collection that mainly depends upon the strategy implemented for garbage collection. Our results show that the Sun HotSpot garbage collector performs 4.66 times better than the Oracle JRockit and 144.06 times better than the IBM J9 garbage collectors.
ACM SIGPLAN Notices, 1998
One of the important advantages of Java, from a programmers prospective, is the use of garbage collection. One aspect of memory management in Java is that all objects are created on a garbage collected heap. Only primitive types, mostly numeric types and references to objects, are allocated on the runtime stack. We speculated that a significant number of objects behaved like traditional automatic variables, that are normally allocated on the runtime stack. We instrumented a Java virtual machine to test this hypothesis. The percentage of objects that could have been allocated on a stack instead of on the heap ranged from zero to possibly as high as 56%, but were generally in the 5--15% range.
Quantifying and improving the performance of garbage collection
2006
I am most grateful to my advisor, Emery Berger, for everything he has done throughout this thesis. I appreciate his guidance, suggestions, and inspiration. I feel especially fortunate for the patience he has shown with me throughout all the twists and turns my life took getting through this dissertation.