最近用到幾個JVM參數(shù):
注意這里的 "\" 是換行的意思。自己不是特別喜歡一行命令寫太長忠荞,
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 \ #如果發(fā)生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是文件名加上時間戳府框。我發(fā)現(xiàn)每次重啟應(yīng)用gc.log會被覆蓋掉迫靖,所以就加上時間戳每次生成新的一個文件
-XX:NewRatio=1 \ #年輕代和老年代的比例1:1 所以年輕代占一半兴使,因為這個程序大量都是新建的對象,所以年輕代大點比較好我覺得
-XX:+UseConcMarkSweepGC \ #用CMS回收
-jar target/lanaya.jar
目前只學習了這幾個 后面肯定會再補充