Closed1

Java メモリ使用率にまつわるあれこれ

KanonKanon

基礎知識

そもそも、Javaのメモリの実態とは?
→ Javaヒープメモリのこと

https://software.fujitsu.com/jp/manual/manualfiles/M080099/J2UZ9570/03Z2A/tun07/tun00085.htm#:~:text=Javaヒープは、Javaプロセス,が管理・制御します。

ヒープメモリはJavaプロセス内に存在するJavaオブジェクトを格納する。
New,Old,Permanentと分けて管理される。
Newはインスタンス、配列。
GCが回収したインスタンスはOldへ。
さらにGCがOldのそれを回収する。
Permanentはクラス、メソッド、定数など永続的に参照されるものが格納される。

ヒープダンプ

ある特定の時刻に Java Virtual Machine (JVM) ヒープ内に含まれていたすべてのオブジェクトのスナップショットのこと。
だから、これを見ればそのタイミングでメモリを食っているクラスやら変数が何かを知ることができる。

https://docs.oracle.com/javase/jp/6/technotes/guides/visualvm/heapdump.html#:~:text=ヒープダンプとは、ある特定,を、ヒープから割り当てます。

メモリ使用率の調査参考になる記事

https://miraitranslate-tech.hatenablog.jp/entry/fargate-oom-by-java-app

このスクラップは2024/04/26にクローズされました