jvm之 国际酒店 一次报表 load数据死循环导致的FULLGC
2024-08-29 22:57:29
从目前这几天的运行情况看,每天晚上0点到3点,应该是你们那边有大数据任务处理,在这个时间段,SOA会频繁报ZK断开重联的告警,见下图。
类似的问题,在CRM系统上也有出现过,我们dump内存,分析后,结论如下,看是否你们有类似的情况,供参考:
代码中使用了大量循环,在循环体中产生了众多对象,这些对象基本在本次循环结束后就成为垃圾对象,但因为对象过大过多,可能会逃逸到old区。
这 样,多次循环下来,old区被占满,于是full gc开始工作,在full gc过程中,jvm会暂停所有线程,且这个过程会比较久。当这个暂时时间超过ZK的会话超时时间(目前我们的SOA中设置的是10S),ZK重新连接上去 后,发现会话过期,需要重新建立连接,此时我们就会下发告警短信和邮件。
目前这个情况,一般不会对业务方和SOA使用造成影响。从性能的角度考虑,建议优化一下代码,避免如此频繁的full gc。
最新文章
- Python爬虫学习(1): urllib的使用
- 转:最近5年133个Java面试问题列表
- Discuz! X2.5判断会员登录状态及外部调用注册登录框
- Autofac.Integration.Owin
- Linux modules install
- github 使用教程初级版
- Sqli-labs less 32
- LabVIEW设计模式系列——状态机
- 我的Hibernate入门
- 在centos中使用vim编辑器
- [lua] 你所不知道的lua nil值在可变参数函数中怎么处理!
- 【Alpha】第一次项目冲刺
- 得到本地电脑IP4地址
- C#设计模式(4)——抽象工厂模式(Abstract Factory)
- 项目管理工具Maven的安装
- Ext.util.Format.date与Ext.Date.format区别, 转换时间戳
- 用addOnGlobalLayoutListener获取View的宽高
- Git使用(1)
- C&;C++图形图像处理开源库
- tomcat中的日志开关文件(logging.properties)介绍