JVM(3)GC的参数与性能检测的工具

 

堆的回顾

大对象直接到老年代

多次GC存活的对象到老年代

串行收集器

系统可以知道有多少对象,该对象之外的(边界)都清除    标记-压缩

并行收集器

 

GC最大停顿时间要想变少,增加GC的频率---->垃圾就少了(每次消耗的时间自然就少了)但是整体的性能会下降

吞吐量:GC占比,面向很多的对象--->GC就会慢

这俩矛盾

知道系统的主要需求

CMS收集器

停顿减少     吞吐量下降(垃圾收集可能占有50%的资源使得整个应用的吞吐量下降)

可以将停顿时间尽可能的减少

并发标记是主要的标记

并发清除:简单的清除(不做复制到一端等操作)

占用多少空间就GC

堆内存几乎满了所以停顿的时间应该比较长

几十G的大对象  复制就会发生很长时间

碎片:标记清除   标记压缩

标记清除   数组要5个单位(连续空间没有)不能分配

标记压缩就可以

CMS:标记清除  更快很难与用户程序一起工作

(如果用  压缩算法   压缩之后对象的内存位置发送改变应用程序就不能够工作了)

Tomcat实例演示

系统结构:



性能检测的工具

uptime:系统运行时间

top:cpu的占用情况

vmstat:系统CPU 内存 swap IO等的使用情况

cmd  中输入 perfmon


D8B的线程(16进制)

猜你喜欢

转载自blog.csdn.net/qq_29235677/article/details/91351450