tech_memo/java
CodeCacheFlusing?による性能劣化 †
Arrays.sortとCollections.sortのアルゴリズム変更 †
JVM Option list †
JDKバージョンごとの、各オプションの一覧 †
JVM Optionのデフォルト値の確認 †
[tme@sv13 ~]$ java -XX:+PrintFlagsFinal
[Global flags]
uintx AdaptivePermSizeWeight = 20 {product}
uintx AdaptiveSizeDecrementScaleFactor = 4 {product}
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product}
~ 略 ~
- 他のオプションとの組み合わせで、デフォルト値の変わるオプションがある
- Heap31GBの場合
[tme@sv13 ~]$ java -Xmx31g -XX:+PrintFlagsFinal | grep UseCompressedOops
bool UseCompressedOops := true {lp64_product}
- Heap32GBの場合
[tme@sv13 ~]$ java -Xmx32g -XX:+PrintFlagsFinal | grep UseCompressedOops
bool UseCompressedOops := false
JVMメモリ空間構成 †
GC発生要因 †
JVM Option †
一般Option †
コンカレントGC特化のオプション †
- -XX:+UseConcMarkSweepGC
コンカレントGCの有効化
- -XX:+UseParNewGC (動作させるマシンのCPUが2個以上かつ物理メモリが2Gbytes以上の場合には、自動設定される)
マイナーGCをマルチスレッドで実行
コンカレントGC †
基本強化 †
JAVA_OPTS="-server -Xmx8g -Xms8g -Xmn4g -XX:MaxNewSize=4g -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=50 -XX:MaxTenuringThreshold=32 -Xss512k -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -XX:+UseCompressedOops -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true"
GCログ出力 †
JAVA_OPTS="$JAVA_OPTS -Xloggc:/home/myuser/myapp/gc_log/gc.log"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
最新の20件
2023-01-26
2022-11-11
2022-03-02
2022-02-03
2021-11-18
2021-11-11
2021-10-27
2021-10-04
2021-09-30
2021-08-24
2021-04-01
2021-02-25
2020-08-13
2020-05-22
2020-04-16
2020-04-15
2020-03-23
2020-03-12
2020-02-27
今日の20件
- counter: 471
- today: 1
- yesterday: 0
- online: 2