036、糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!

本文是个人学习《从 0 开始带你成为JVM实战高手》内容总结,详细内容扫描二维码

1、前文回顾

前5周分析了JVM核心原理、出现GC的问题情形。

2、基于JVM运行的系统最怕什么?

STW 造成的卡顿问题

3、年轻代gc到底多久一次对系统影响不大?

多久一次需要根据业务来定。年轻代gc对系统影响大不大?相对于FullGC,对系统影响是不大的

4、什么时候新生代gc对系统影响很大?

系统部署部署在大内存机器上,给你的应用分配了几十个G,同时负载很高情况下(比如每秒几万请求),这时积压的请求多,大量存活,导致回收时间长

5、如何解决大内存机器的新生代GC过慢的问题?

G1垃圾回收器,G1天生就适合这种大内存机器的JVM运行,可以完美解决大内存垃圾回收时间过长的问题。

6、要命的频繁老年代gc问题

三个进入老年代的条件:1、年龄大 2、动态年龄判断 3、Survivor放不下 重点关注2和3。所以要按照之前说的,估算内存模型,合理分配内存

7、JVM性能优化到底在优化什么?

总的原则:合理配置分配内存,尽量不就行FullGC

原文地址:https://www.cnblogs.com/csldm/p/11306472.html

时间: 2024-10-01 01:07:41

036、糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!的相关文章

线上系统/tmp 目录不断增长分析与总结

1.问题描述 系统配置为单核4G, web 工程配置堆2G,  /tmp目录 二进制文件不断增加,平均一天增加20G, 手动清理/tmp目录,重启系统,问题依旧. 2.分析 /tmp 目录存放系统运行时产生的临时文件.在Redhat-like系统上,会定期清理/tmp目录下10天未访问的文件.这个机制保证了,linux不会像windows那样在较长时间运行后变得臃肿不堪. 清理脚本位于/etc/cron.daily/tmpwatch,内容如下, #! /bin/sh flags=-umc /us

线上系统架构设计 之 【数据库篇-主主从】

双主一从架构,从服务器在本地,用于备份和研发测试.两台线上服务器进行数据库相互同步,保证数据一致性,采用xtrabackup备份数据库+脚本每天1点异地备份到从服务器. 一.对线上的一台主服务器数据进行备份,并恢复到另外两台服务器上. innobackupex --defaults-file=/wqdata/mysql/my.cnf --user=bkuser --password='123456' /wqdata/mofidbbak/fullbackup/    备份 scp -P 8022

线上系统架构设计之 【文件系统同步篇】

此项目是一个中小型APP类应用,服务器是运营商分配的两台公网IP的虚拟机,后面无共用存储等设备.由于前端要采用负载均衡技术,为了保证数据一致性和安全性,采用两台服务器网站文件之间实时同步,外加一台远程备份用服务器,共三台.所以选择Rsync+sersync 负责主服务器到远程服务器单向(参考之前文章),UNISON+inotify实现主备服务器之间实时相互同步. 一.安装过程:yum -y install ocaml wget http://www.seas.upenn.edu/~bcpierc

031、动手实验:线上系统部署如果采用G1垃圾回收器,应该如何设置参数?

本文是个人内容总结,详细内容扫描二维码 1.前文回顾 1.G1中有新 .老.大三种Region 2.新生代回收条件:新生代Eden区满的时候 3.新生代GC仍然采用复制算法 4.控制停顿时间,对Region进行挑选回收 5.进入老年的条件: (1)熬过了一定次数的GC (2)动态年龄判定规则 (3)存活对象在Survivor放不下 2.什么时候触发新生代+老年代的混合垃圾回收? -XX:InitiatingHeapOccupancyPercent,默认值是45%,表示如果老年代占据了堆内存的45

对线上系统维护工作的总结与思考

背景描述:目前在一家网站公司工作,2015年初研发中心部门改革,小组重组,被分配到了网站平台的维护组.下面内容是对近期维护工作的一个总结: 个人感受:以前也在老东家的团队也做线上系统的维护和新产品的研发,由于大家的认真负责,Leader的管理也很到位,线上的系统很少有bug反馈,不管是UI上迭代,还是系统逻辑的升级都很顺畅. 目前负责的平台运行了3年多,可能由于当时逻辑设计问题,也可能是执行问题,发现近期反馈的问题多是逻辑问题,在此对这些问题的原因不做探讨和深究,只是想讲讲面对线上问题的维护工作

[转]线上GC故障解决过程记录

排查了三四个小时,终于解决了这个GC问题,记录解决过程于此,希望对大家有所帮助.本文假定读者已具备基本的GC常识和JVM调优知识,关于JVM调优工具使用可以查看我在同一分类下的另一篇文章: http://my.oschina.net/feichexia/blog/196575 背景说明 发生问题的系统部署在Unix上,发生问题前已经跑了两周多了. 其中我用到了Hadoop源码中的CountingBloomFilter,并将其修改成了线程安全的实现(详情见:AdjustedCountingBloo

(转)HBase工程师线上工作经验总结----HBase常见问题及分析

阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端exception,一般原因是什么?5.系统越来越慢的原因是什么?6.Hbase数据写进去,为什么会没有了,可能的原因是什么?7. regionserver发生abort,遇到最多是什么情况?8.从哪些方面可以判断HBase集群是否健康?9.为了加强HBase的安全性,你会采取哪些措施?在Tcon分布式系统测

HBase工程师线上工作经验总结----HBase常见问题及分析

阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端exception,一般原因是什么?5.系统越来越慢的原因是什么?6.Hbase数据写进去,为什么会没有了,可能的原因是什么?7. regionserver发生abort,遇到最多是什么情况?8.从哪些方面可以判断HBase集群是否健康?9.为了加强HBase的安全性,你会采取哪些措施? 在Tcon分布式系统

一次线上GC故障解决过程记录

排查了三四个小时,终于解决了这个GC问题,记录解决过程于此,希望对大家有所帮助.本文假定读者已具备基本的GC常识和JVM调优知识,关于JVM调优工具使用可以查看我在同一分类下的另一篇文章: http://my.oschina.net/feichexia/blog/196575 背景说明 发生问题的系统部署在Unix上,发生问题前已经跑了两周多了. 其中我用到了Hadoop源码中的CountingBloomFilter,并将其修改成了线程安全的实现(详情见:AdjustedCountingBloo