JVM
文章平均质量分 56
zhaoziyun21
这个作者很懒,什么都没留下…
展开
-
线上服务器一小时一次fullGc排查
现状: -Xms:8G -Xmx:8G -Xmn:2G 下面是gc日志输出的配置: CommandLine flags: -XX:CMSInitiatingOccupancyFraction=75 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/logs/Heap...原创 2020-02-17 13:59:46 · 709 阅读 · 0 评论 -
第一周JVM原理
启动java程序,先加载指定的main方法的class文件到方法区,然后通过验证、准备、解析、初始化等阶段,通过字节码执行引擎执行字节码指令,每执行到一个需要使用的类时,就会去重复加载、验证、准备、解析、初始化等阶段,程序计数器用来记录线程执行到指令的位置,java虚拟机栈用来存放运行到的方法以及方法内的局部变量,方法运行完毕,出栈,堆内存用来存放实例化出来的对象。 ![在这里插入图片描述](...原创 2019-07-13 11:41:30 · 95 阅读 · 0 评论 -
JVM第二周
本周的作业 非常简单,希望每个人按照案例里分析的那个过程,把你手头负责的系统的核心业务流程简化、抽象以及梳理出来,看看你们线上的真实负载情况,每秒钟多少请求?然后根据你们的核心业务流程,看看每秒钟你负责的系统对内存使用的压力有多大?接着你再思考一下,就你的系统内存使用压力之下,目前你们线上机器是多大的堆内存?新生代多大?老年代多大?如果没设置,可以自行百度默认的内存大小。然后分析一下,目前的这个内...原创 2019-07-13 17:27:19 · 118 阅读 · 0 评论 -
JVM第三周:G1回收器之前的GC相关
1、youngGC15次还存活 2、同一批相同年龄的对象大于 50%,大于这批年龄的对象进入 老年区 3、大对象,超过XX:PretenureSizeThreshold设置,直接进入老年区 4、youngGC存活对象大于suvivor,整体到老年区 5、youngGC之前的老年代空间担保规则 1)老年代可用空间 > 新生代所有对象总和 2)老年代可用空间 < 新生代所有对象总和 ...原创 2019-07-17 11:43:04 · 249 阅读 · 0 评论 -
JVM第五周:G1垃圾回收相关
G1垃圾回收器 堆内存分为了多个大小相等的region,最多2048个 新生代和老年代只是逻辑上的概念 可以设置预期的圾回收时间 region是动态划分,按需分配。region归属是动态变化的,同一个可能是老年代、新生代、大对象区 -XX:+UseG1GC 指定G1回收 -XX:G1HeapRegionSize 指定region个数 -XX:G1NewSizePercent 指定新生代占比 -X...原创 2019-08-06 18:09:29 · 186 阅读 · 0 评论