#monitor  使用jvisualvm通过JMX的方式远程监控JVM的运行情况

JAVA_OPTS="

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=8060 

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

-Djava.rmi.server.hostname=192.168.20.01"


#heap 内存

JAVA_OPTS="$JAVA_OPTS

-Xmx14336m  —最大堆容量

-Xms14336m  —堆内存初始大小(最大堆容量和初始堆容量大小相等则表示java堆不可扩展)

-XX:PermSize=256m         —方法区初始容量

-XX:MaxPermSize=512m  —最大方法区容量  (可以通过PermSize和MaxPermSize限制方法区大小)

-XX:MaxDirectMemorySize=256m”  — 直接内存(不指定时默认与最大堆容量Xmx一样)

        (直接内存并不是虚拟机运行时数据区的一部分,也不是java虚拟机规范中定义的内存区域。)


#plug

JAVA_OPTS="$JAVA_OPTS

-XX:-OmitStackTraceInFastThrow     -强制要求JVM始终抛出含堆栈的异常

-XX:ParallelGCThreads=8”    —设置并行GC时进行内存回收的线程数


#gc log

JAVA_OPTS="$JAVA_OPTS

-XX:+PrintGCDateStamps

-XX:+PrintGCDetails       —打印GC详细信息

-Xloggc:${LOG_HOME}/gc.log"