Hello,
JVM-memory.options for one of our apps has the following:
#use G1GC
-XX:+UseG1GC
#minimum heap size
-XX:InitialHeapSize=6g
#maximum heap size
-XX:MaxHeapSize=6g
#mentioned in App JVM options guide
-XX:+AggressiveOpts
-XX:MaxGCPauseMillis=500
-XX:+DisableExplicitGC
-XX:+UseStringDeduplication
-XX:+ParallelRefProcEnabled
-XX:MaxMetaspaceSize=256m
-XX:MaxTenuringThreshold=1
#gc log formatting
-Xlog:gc*,safepoint,age*,ergo*:file=/opt/app/log/gc-%p-%t.log:tags,uptime,time,level::filecount=10,filesize=50m
which is running on java version "11.0.13" 2021-10-19 LTS
However, off late there's hasn't been any let go of memory, until the app gets manually restarted. Before restart..
[app@sv1 log]$ free -h
total used free shared buff/cache available
Mem: 7.8G 5.7G 652M 393M 1.4G 1.4G
Swap: 2.0G 520M 1.5G
After restart..
[app@sv1 log]$ free -h
total used free shared buff/cache available
Mem: 7.8G 2.8G 3.4G 401M 1.6G 4.3G
Swap: 2.0G 158M 1.8G
Are there any crucial flags missing in the JVM memory options file for this app to be more sustainable without creating memory related alerts?
TIA,