基本JVM参数配置模版

最近用到几个JVM参数:
注意这里的 "\" 是换行的意思。自己不是特别喜欢一行命令写太长,

java \
-Xms256m \
-Xmx256m \
-XX:MetaspaceSize=64M \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=~/applogs/lanaya/heapdump.hprof \
-XX:+PrintGCDateStamps \
-XX:+PrintGCDetails \
-Xloggc:/Users/cocal/applogs/lanaya/gc-%t.log \
-XX:NewRatio=1 \
-XX:+UseConcMarkSweepGC \
-jar target/lanaya.jar

下面是解释版

java \
-Xms256m \ #堆初始大小256m
-Xmx256m \ #堆最大
-XX:MetaspaceSize=64M \ #元空间大小
-XX:+HeapDumpOnOutOfMemoryError \ #如果发生oom生成堆dump文件 不过好像没生效??
-XX:HeapDumpPath=~/applogs/lanaya/heapdump.hprof \ #生成文件目录
-XX:+PrintGCDateStamps \ #打印gc日志时加上时间戳 前面会加上时间如:2017-09-17T18:00:47.637+0800
-XX:+PrintGCDetails \ #打印GC信息
-Xloggc:/Users/cocal/applogs/lanaya/gc-%t.log \ #GC日志文件路径 %t是文件名加上时间戳。我发现每次重启应用gc.log会被覆盖掉,所以就加上时间戳每次生成新的一个文件
-XX:NewRatio=1 \ #年轻代和老年代的比例1:1 所以年轻代占一半,因为这个程序大量都是新建的对象,所以年轻代大点比较好我觉得
-XX:+UseConcMarkSweepGC \ #用CMS回收
-jar target/lanaya.jar

目前只学习了这几个 后面肯定会再补充

你可能感兴趣的:(基本JVM参数配置模版)