JVM参数设置(吞吐量和响应时间性能调优)

吞吐量与响应时间

  1. 吞吐量 = CPU在用户应用程序运行的时间 / (CPU在用户应用程序运行的时间 + CPU垃圾回收的时间)
  2. FULL GC,串行垃圾回收会使用应用停顿,响应用户时间长

垃圾回收器算法比较

  1. 串行回收算法:会停止当前应用进程,回收垃圾,停顿时间久,吞吐量大,响应时间长
  2. 并行回收算法: 是多个线程同时执行串行回收算法(多核),也会使应用停顿,吞吐量大,响应时间长,用户体验差
  3. 并发回收算法:应用和垃圾回收多个线程并发执行,吞吐量相对小,响应时间短,用户体验好
  4. G1 : 并发 + 并行回收 + 标记管理

GC日志设置以及日志的分析

  1. 日志输出设置在这里插入图片描述
  2. 日志查看
我在活着。。。。
2018-06-15T10:44:26.630-0800: [GC (System.gc()) [PSYoungGen: 2673K->496K(38400K)] 2673K->504K(125952K), 0.0010649 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
2018-06-15T10:44:26.631-0800: [Full GC (System.gc()) [PSYoungGen: 496K->0K(38400K)] [ParOldGen: 8K->402K(87552K)] 504K->402K(125952K), [Metaspace: 3300K->3300K(1056768K)], 0.0066154 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] 
我要死了。。。。
Heap
 PSYoungGen      total 38400K, used 1664K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
  eden space 33280K, 5% used [0x0000000795580000,0x00000007957201b0,0x0000000797600000)
  from space 5120K, 0% used [0x0000000797600000,0x0000000797600000,0x0000000797b00000)
  to   space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
 ParOldGen       total 87552K, used 402K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
  object space 87552K, 0% used [0x0000000740000000,0x0000000740064ab8,0x0000000745580000)
 Metaspace       used 3312K, capacity 4496K, committed 4864K, reserved 1056768K
  class space    used 369K, capacity 388K, committed 512K, reserved 1048576K

Process finished with exit code 0

PSYoungGen:表示新生代,这个名称由收集器决定。PS是Parallel Scavenge收集器的缩写,它配套的新生代称为PSYoungGen,新生代又分化eden space、from space和to space这三部分
ParOldGen:Parallel Scavenge收集器配套的老年代
Metaspace: Parallel Scavenge收集器配套的永久代
total & used:总的空间和用掉的空间
如果收集器为ParNew收集器,新生代为ParNew,Parallel New Generation
如果收集器是Serial收集器,新生代为DefNew,Default New Generation
这里的收集器是Parallel Scavenge。

可以看到上面有两种GC类型:GC(第二行)和Full GC(第三行),有Full表示这次GC是发生了Stop-The-World的。

新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度非常快。

老年代GC(Major GC/Full GC):指发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Minor GC,Major GC的速度一般会比Minor GC慢10倍以上

猜你喜欢

转载自blog.csdn.net/qq_40910541/article/details/88990218