**jvm参数优化**
* 最近碰到了公司项目发布设置参数较小导致项目启动失败(又背了一个锅)
代码语言:javascript复制JAVA_OPTS="-Dproject.name=${key} -Djava.security.egd=file:/dev/./urandom -Duser.timezone=GMT 08 -server
-Xmx512m -Xms512m -Xmn256m -Xss256k -XX:PermSize=512m -XX:MaxPermSize=512m
-XX:SurvivorRatio=8 -XX: UseConcMarkSweepGC
-XX: UseParNewGC -XX:ParallelGCThreads=12
-XX: CMSParallelRemarkEnabled -XX: CMSClassUnloadingEnabled
-XX:CMSInitiatingOccupancyFraction=60 -XX: PrintClassHistogram -XX: PrintGCDetails
-XX: PrintGCDateStamps
-XX: PrintHeapAtGC -XX: PrintGCApplicationConcurrentTime
-XX: PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:GCLogFileSize=20K
-XX: UseGCLogFileRotation -XX:NumberOfGCLogFiles=5"
Xmx 是指设定程序运行期间最大可占用的内存大小
Xms 是指设定程序启动时占用内存大小
Xss 是指设定每个线程的堆栈大小
Xmn用来设置堆内新生代的大小
-XX:MaxPermSize 设置持久代的大小
-XX:ParallelGCThreads= 垃圾回收的大小 选择垃圾收集器为并行收集器。此配置仅对年轻代有效。即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。