1. 杂项
-classpath your_dir : 指定目录,jvm将会默认加载该目录下的类
-Djava.library.path=library_dir : 指定java的JNI相关文件dll的位置
-server : jvm将会以server模式启动应用,启动较慢,性能较好
-client : jvm将会以client模式启动应用,启动较快,性能较差
-Dsun.rmi.transport.tcp.responseTimeout=20000 : 设定RMI请求超时时间
-Dcom.sun.management.jmxremote : 支持远程通过jmx的方式监控应用资源
-Dcom.sun.management.jmxremote.port=9999 : 远程RMI使用JMX时的监听端口
-Dcom.sun.management.jmxremote.ssl=false : 远程RMI使用JMX时不使用SSL协议
-Dcom.sun.management.jmxremote.authenticate=false : 远程RMI使用JMX时不需要验证信息
-Djava.util.logging.config.file=properties_dir: 指定java自带的日志系统的配置文件
-Djava.util.logging.manager=manager_package: 指定自带的日志管理系统的管理器
-Dsun.rmi.dgc.client.gcInterval=3600000 : jvm默认会每小时调用一次system.gc(),通过该参数调整client模式下定时触发gc的时间间隔
-Dsun.rmi.dgc.server.gcInterval=3600000 : 同上,server模式时的参数
-Djava.endorsed.dirs=your_dir : 指定目录,在该目录下的libraries将会覆盖系统提供的libraries,部分系统API无法覆盖
-Djava.awt.headless=true : 表明服务器在缺少键盘,鼠标,显示器等外设的情况下运作,涉及到图片处理相关功能的服务器一般需要增加该参数
-Dorg.apache.catalina.SESSION_COOKIE_NAME : 指定tomcat识别session的key,默认为jsessionid,防止多应用下的session冲突
2. gc日志相关
-verbose:gc : 输出jvm的gc的详细情况
-XX:+PrintGCDetails : 记录GC运行时的详细数据信息,包括新生占用的内存大小及消耗时间
-XX:+PrintGCTimeStamps : 打印GC的时间戳
-Xloggc:filename : 指定GC数据的存储文件
-XX:+UseGCLogFileRotation : 启用GC日志文件的自动转储
-XX:GCLogFileSize=1m : 控制GC日志文件的大小
3. 堆相关
-Xms2g : 设置Jvm堆的初始大小为2g
-Xmx2g : 设置jvm堆的最大值为2g
-Xmn1g : 设置年轻代大小为1g
-Xss512k : 设置jvm线程栈大小为512k,默认1M
-XX:PermSize=128m : 设定jvm持久代的初始值为128m,1.8后持久代被删除
-XX:MaxPermSize=128m : 设置持久代的最大值为128m,1.8后持久代被删除
-XX:NewRatio=4 : 设置老年代和年轻代的比值为4 : 1,公式 X : 1
-XX:SurvivorRatio=4 : 设置年轻代中两个 s 区与 e 区的比值,4代表两个 s 区和 e 区大小比值为 1 : 1 : 4,公式 1 : 1 : X
-XX:MaxTenuringThreshold=0 : 设置对象在年轻代中的年龄,值为0时,对象不经过 s 区直接进入老年代,该参数只有在串行GC时才有效
-XX:+DisableExplicitGC : 禁止代码显示调用system.gc()方法,使用该参数需要严格测试,特别是使用NIO的情况下,容易造成OOM,慎用
-XX:+CollectGen0First : 执行FULL GC之前,是否先YGC,默认false
-XX:PretenureSizeThreshold=1024 : 对象超过一定大小之后,直接分配在老年代,单位:字节
-XX:+UseParallelGC : 使用并行垃圾收集器
-XX:+UseParNewGC : 设置年轻代为并行收集
-XX:+UseParallelOldGC : 设置老年代为并行收集
-XX:ParallelGCThreads=123 : 并行收集器的线程数
-XX:-UseConcMarkSweepGC : 使用并发标志扫描收集器
-XX:-UseSerialGC : 使用串行垃圾收集器