A Study of Java']Java's Non-Java']Java Memory

被引:4
|
作者
Ogata, Kazunori [1 ]
Mikurube, Dai [1 ]
Kawachiya, Kiyokuni [1 ]
Trent, Scott [1 ]
Onodera, Tamiya [1 ]
机构
[1] IBM Res Tokyo, Kanagawa 2428502, Japan
关键词
Measurement; Experimentation; !text type='Java']Java[!/text; memory footprint analysis; non-[!text type='Java']Java[!/text] memory; !text type='Java']Java[!/text] native memory;
D O I
10.1145/1932682.1869477
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A Java application sometimes raises an out-of-memory exception. This is usually because it has exhausted the Java heap. However, a Java application can raise an out-of-memory exception when it exhausts the memory used by Java that is not in the Java heap. We call this area non-Java memory. For example, an out-of-memory exception in the non-Java memory can happen when the JVM attempts to load too many classes. Although it is relatively rare to exhaust the non-Java memory compared to exhausting the Java heap, a Java application can consume a considerable amount of non-Java memory. This paper presents a quantitative analysis of non-Java memory. To the best of our knowledge, this is the first in-depth analysis of the non-Java memory. To do this we created a tool called Memory Analyzer for Redundant, Unused, and String Areas (MARUSA), which gathers memory statistics from both the OS and the Java virtual machine, breaking down and visualizing the non-Java memory usage. We studied the use of non-Java memory for a wide range of Java applications, including the DaCapo benchmarks and Apache DayTrader. Our study is based on the IBM J9 Java Virtual Machine for Linux. Although some of our results may be specific to this combination, we believe that most of our observations are applicable to other platforms as well.
引用
收藏
页码:191 / 204
页数:14
相关论文
共 50 条
  • [21] Java']Java: Coordination and communication for Java']Java agents
    Ciancarini, P
    Rossi, D
    MOBILE OBJECT SYSTEMS: TOWARDS THE PROGRAMMABLE INTERNET, 1997, 1222 : 213 - 226
  • [22] Flow Java']Java: Declarative concurrency for Java']Java
    Drejhammar, F
    Schulte, C
    Brand, P
    Haridi, S
    LOGIC PROGRAMMING, PROCEEDINGS, 2003, 2916 : 346 - 360
  • [23] A dualthreaded Java']Java processor for Java']Java multithreading
    Chung, CM
    Kim, SD
    1998 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1998, : 693 - 700
  • [24] AGGREGATED ACCOUNTING OF MEMORY USAGE IN JAVA']JAVA
    Bouche, Paul
    von Loewis, Martin
    Troeger, Peter
    ICSOFT 2009: PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL 1, 2009, : 177 - +
  • [25] The Java']Java memory model is fatally flawed
    Pugh, W
    CONCURRENCY-PRACTICE AND EXPERIENCE, 2000, 12 (06): : 445 - 455
  • [26] Research on Memory Leakage in Java']Java Application
    Peng Hao-lin
    Liu Yi-min
    You Xiang-bai
    ICCSIT 2010 - 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, VOL 2, 2010, : 146 - 148
  • [27] Memory Organization and Optimization for Java']Java Workloads
    Chong, K. F.
    Fong, Anthony S.
    INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2006, 6 (11): : 284 - 291
  • [28] Analyzing the CRF Java']Java Memory Model
    Yang, Y
    Gopalakrishnan, G
    Lindstrom, G
    APSEC 2001: EIGHTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2001, : 21 - 28
  • [29] Java']Java testing moves beyond memory
    Varhol, P
    COMPUTER DESIGN, 1998, 37 (08): : 34 - +
  • [30] Evaluating the importance of virtual memory for Java']Java
    Becerra, Y
    Cortes, T
    Garcia, J
    Navarro, N
    ISPASS: 2003 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2003, : 101 - 110