Accurate and efficient object tracing for java applications

29Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

Object allocations and garbage collection can have a considerable impact on the performance of Java applications. Without monitoring tools, such performance problems are hard to track down, and if such tools are applied, they often cause a significant overhead and tend to distort the behavior of the monitored application. In this paper we present a new light-weight memory monitoring approach in which we trace allocations, deallocations and movements of objects using VM-specific knowledge. We strive for utmost compactness of the trace by using a binary format with optimized encodings for difierent cases of memory events and by omitting all information that can be reconstructed offine when the trace is processed. Our approach allows us to reconstruct the heap for any point in time and to do offine analyses both on the heap and on the trace. We evaluated our tracing technique with more than 30 benchmarks from the DaCapo 2009, the DaCapo Scala, the SPECjvm 2008, and the SPECjbb 2005 benchmark suites. The average run-time overhead is 4.68%, which seems to be fast enough for keeping tracing switched on even in production mode.

Cite

CITATION STYLE

APA

Lengauer, P., Bitto, V., & Mössenböck, H. (2015). Accurate and efficient object tracing for java applications. In ICPE 2015 - Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering (pp. 51–62). Association for Computing Machinery, Inc. https://doi.org/10.1145/2668930.2688037

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free