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 条
  • [1] Exceptionization: A Java']Java VM Optimization for Non-Java']Java Languages
    Yang, Byung-Sun
    Kim, Jae-Yun
    Moon, Soo-Mook
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2017, 14 (01)
  • [2] Design of an Introductory Java']Java Parallel Programming Course for Non-Java']Java Students
    Chen, Xuguang
    [J]. 2023 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE, CSCI 2023, 2023, : 1746 - 1749
  • [3] Connecting non-Java']Java devices to a Jini network
    McDowell, CE
    Shankari, K
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES - TOOLS 33, PROCEEDINGS, 2000, : 45 - 56
  • [4] Java']Java consistency: Nonoperational characterizations for Java']Java memory behavior
    Gontmakher, A
    Schuster, A
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2000, 18 (04): : 333 - 386
  • [5] The Java']Java memory model
    Manson, J
    Pugh, W
    Adve, SV
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (01) : 378 - 391
  • [6] Java']Java, Java']Java, Java']Java and more
    Makulowich, JS
    [J]. DATABASE, 1997, 20 (01): : 74 - 75
  • [7] Java']Java, Java']Java everywhere
    不详
    [J]. DATAMATION, 1996, 42 (11): : 11 - 11
  • [8] Java']Java and the Java']Java Memory Model - A Unified, Machine-Checked Formalisation
    Lochbihler, Andreas
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 7211 : 497 - 517
  • [9] An Efficient Memory System for Java']Java
    Li, Richard C. L.
    Fong, Anthony S. S.
    [J]. INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2007, 7 (06): : 146 - 154
  • [10] Characterizations for Java']Java memory behavior
    Gontmakher, A
    Schuster, A
    [J]. FIRST MERGED INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, 1998, : 682 - 686