JVM参数详解

JVM参数详解

  • 前言
  • JVM内存参数

前言

目前不是很全,在日后的工作中会逐步增加…

JVM内存参数

整个堆的大小=年轻代大小+年老代大小+持久代大小。
持久代大小一般都是固定不变(64m),所以,增大年轻代后,将会减少年老代,对系统影响较大

  • -Xms堆的最小空间大小

  • -Xmx堆最大空间大小

  • -Xmn年轻代大小

  • -XX:NewSize新生代最小空间大小

  • -XX:MaxNewSize新生代最大空间大小

  • -XX:PermSize永久代最小空间大小

  • -XX:MaxPermSize永久代最大空间大小

  • -Xss每个线程的堆栈大小

  • -XX:+UseParallelGC选择垃圾收集器为并行收集器,此配置仅对年轻代有效,而老年代仍使用串行收集器

  • -XX:配置并行收集器的线程数。即:多个线程一起进行垃圾回收,此数值最好和处理器数目相同

  • -XX:NewRatio新生代和老年代的比值,

  • -XX:SurvivorRatio新生代中Eden区域和Survivor区域的比例,默认是8

  • -XX:+HeapDumpOnOutOfMemoryError OOM时导出堆到文件

  • -XX:HeapDumpPath=d:/a.dump 导出OOM的路径

  • verbose:gc 发生GC时,打印出GC日志

  • -XX:+printGC 发生GC时,打印出GC日志

  • -XX:+PrintGCDetails 打印GC的详细日志,并且在程序运行结束是会打印出JVM的内存占用情况

  • -XX:+PrintGCDateStamps 打印GC发生的时间

  • -XX:+PrintGCTimeStamps 打印GC发生的时间,相对JVM启动的时间

  • -Xloggc:d:\gc.log gc日式默认是打印在控制台,添加这个参数可以指定GC日志的输出位置,指定后控制台就无法查看GC日志了

  • -XX:+PrintHeapAtGC 每次一次GC后,都打印堆信息

你可能感兴趣的:(JVM)