|
ABSTRACT
Garbage collectors automatically free memory previously allocated by applications. Generally, they discard unreachable objects from memory, leaving reachable objects intact. However, object reachability does not necessarily imply usability, as an object may be obsolete and still reachable. Such objects are usually referred to as loitering objects. Loitering objects introduce a form of memory leak in a Java application. Predicting, tracing and eliminating loitering objects is a difficult problem. In this paper we address this problem. We present a self-healing approach for dealing with loitering objects. Specifically, the paper proposes an algorithm that can be integrated within the Java garbage collector. The algorithm prevents memory leaks resulting from loitering objects by "paging" suspected live objects to disk and reloading them if they are required. As a proof-of-concept, we have implemented and validated the algorithm for the Java Virtual Machine. This could be a first step towards genuine self-healing of memory management problems.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Panacea-towards a self-healing development framework. In <u>Proceedings of the 10th IFIP/IEEE international symposium on Integrated Network Management, Munich</u>, Germany, 2007.
|
 |
2
|
C. Scott Ananian , Martin Rinard, Data size optimizations for java programs, Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, June 11-13, 2003, San Diego, California, USA
|
| |
3
|
|
| |
4
|
|
 |
5
|
G. Chen , M. Kandemir , N. Vijaykrishnan , M. J. Irwin , B. Mathiske , M. Wolczko, Heap compression for memory-constrained Java environments, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
 |
6
|
|
| |
7
|
B. Goetz. Garbage collection and performance. http://www-128.ibm.com/developerworks/java/library/j-jtp01274.html, 2004.
|
| |
8
|
B. Goetz. Plugging memory leaks with soft references. http://www-128.ibm.com/developerworks/java/library/j-jtp01246.html, 2005.
|
| |
9
|
B. Goetz. Plugging memory leaks with weak references. http://www-128.ibm.com/developerworks/java/library/j-jtp11225.html/, 2005.
|
| |
10
|
|
| |
11
|
J. Patrick. Handling memory leaks in Java programs. www.ibm.com/developerworks/java/library/j-leaks/, 2001.
|
| |
12
|
M. Pawlan. Reference Objects and Garbage Collection. http://java.sun.com/developer/technicalArticles/ALT/RefObj/, 1998.
|
| |
13
|
Sun. Jconsole - Java Monitoring and Management Console. http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jconsole.html, 2007.
|
| |
14
|
|
| |
15
|
JDK Monitoring and Troubleshooting Tools. http://java.sun.com/javase/6/docs/technotes/tools/, 2007.
|
| |
16
|
JProbe. http://javaperformancetuning.com/tools/jprobe, 2003.
|
CITED BY 3
|
|
Yan Tang , Yan Tang , Qi Gao , Qi Gao , Feng Qin , Feng Qin, LeakSurvivor: towards safely tolerating memory leaks for garbage-collected languages, USENIX 2008 Annual Technical Conference on Annual Technical Conference, p.307-320, June 22-27, 2008, Boston, Massachusetts
|
|
|
|
|
|
|
|