JVM 参数
堆
-Xms
-Xmx
年轻代
-Xmn
永久代(JDK1.7)
-XX:PermSize
-XX:MaxPermSize
元空间(JDK1.8)
-XX:MetaspaceSize
-XX:MaxMetaspaceSize
GC相关
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC
-XX:+PrintGCDateStamps
-Xloggc:/opt/wildfly/standalone/log/verbose.gc
指定GC日志文件路径
-XX:+UseGCLogFileRotation
打开或关闭GC日志滚动记录功能,要求必须设置 -Xloggc参数
-XX:NumberOfGCLogFiles=10
设置滚动日志文件的个数,必须大于1
日志文件命名策略是,
-XX:GCLogFileSize=20M
设置滚动日志文件的大小,
必须大于8k当前写日志文件大小超过该参数值时,日志将写入下一个文件
dump文件
-XX:+HeapDumpOnOutOfMemoryError
当OutOfMemoryError产生,自动Dump堆内存
-XX:HeapDumpPath=/opt/wildfly/standalone/log/
指定内存溢出时Dump文件目录,配合HeapDumpOnOutOfMemoryError使用
配置年轻代与老年代在堆结构的占比
-XX:NewRatio
默认
-XX:NewRatio=2新生代占1,老年代占2,年轻代占整个堆的1/3
假如
-XX:NewRatio=4新生代占1,老年代占4,年轻代占整个堆的1/5
NewRatio值就是设置老年代的占比,剩下的1给新生代
监控远程JVM进程
-Djava.rmi.server.hostname=192.168.1.2 服务器端的ip地址
-Dcom.sun.management.jmxremote.port=1099 jmx的开放接口
-Dcom.sun.management.jmxremote.authenticate=false 用户账号密码验证关闭
-Dcom.sun.management.jmxremote.ssl=false ssl关闭