Java読書会BOF「Java Memory Management」を読む会 第3回議事録
[ 戻る ]
:orphan:
=====================================================
Java読書会BOF「Java Memory Management」を読む会 第3回
=====================================================
.. csv-table:: 開催概要
"日時", "2023年7月22日 10:00 - 17:00"
"場所", "てくのかわさき 第4研修室"
"出席者(敬称略)","高橋(徹)、吉本、岩室、根本 (書記)"
.. note::
p99から最後まで
サンプルコードのありか
https://github.com/PacktPublishing/B18762_Java-Memory-Management
Thuning the configurations of the JVM
-------------------------------------
CPUアフィニティを指定するoptionがある、OSで設定できるらしい。
javaではdefaultでは30スレッドぐらい上がる、結構多い。
GC同時実行のmax thread数を4とかに減らして、CPU負荷をさげたいときには -XX:ParallelGC
memoryとかとおなじようにスレッドを制約したい
-xx:parallel gc threads
docker イメージで動かす場合は、ひとつひとつのthread割当は少ないほうが良いと思う。
java_tool_options とかの環境変数はある、いったいいくつあるのか
コマンドラインオプションは %JVM_OPTS% とかの環境変数を
[宿題] java.properties とかの設定ファイルの読み込みと、 %JVM_OPTS% と java_tool_options との使いわけ
heapdumpファイルの見方として、eclipse の memory調査プラグインで見ることができる。
java -XX:+PrintFlagsFinal -version
メタスペースフリーレシオ : 物理メモリーの半分が推奨 :
System.gc() が明示的に動くJavaが昔はあった、今でもヒントしては意味がある
[宿題] -XX:-UseParallelGC の引数のみ -引数になっている、ほかは +引数、これは正しいのか
-XX:+UseSerialGC
-XX:-UseParallelGC
-XX:+UseConcMarkSweepGC
-XX:+G1GC <-- これは誤植、 +UseG1GCが正しいはず
-XX:+UseZGC
[宿題] Tuningのオプションの確認
https://docs.oracle.com/javase/9/gctuning/introduction-garbage-collection-tuning.htm
7 Avioiding memory leaks
------------------------
参考コード
https://github.com/PacktPublishing/B18762_Java-Memory-Management
[宿題] VisualVMからサンプルコードを起動することができるのか
VisualVMでの再現手順が不明
プロセスを落とさずにテストする方法
[宿題] StringBuilder で文字列連結をした時に、そのjavap でのイメージはどんなものになっているのか
-> よくわからない、Dynamicxxx の様な特殊なbytecodeが生まれているらしい
[宿題]Mission Control で VusalVMと同じことはできないのか
JVMドキュメントへのリンク
https://docs.oracle.com/javase/specs/index.html
以上
[ 戻る ]