|生产环境调 Bug,还不影响用户体验,像极了一段视频

文章图片

最近看了一段视频 , 感想丰富 , 非常愿意分享给大家 。 之前交付了一个软件系统 , 一直出现各种问题 , 距离上一次大bug过去了两三个月 ,稳定了一段时间后 ,又出现了令人头疼的bug 。 真希望是下面视频中的小哥快速解决问题 , 唉 , 事与愿违呀 。
具体情况是:堆使用正常 ,线程正常 ,tomcat 日志也正常没报错 。但是cpu使用率频繁百分之百 ,频繁gc.导致用户反应程序使用时会卡顿 。。
现象为:
jvm 参数设置为: 最大堆 -Xmx4096m , 初始化-Xms4096m 新生代 -Xmn2048m GC回收器是 CMS.
新生代内存是 一个 eden + survivor 默认比例是 8:1 ,eden区内存大小为: 1658112kb survivor区内存大小为:207232kb.
内存分配及使用这一块是没什么问题 ,然后加上 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:/soft/gclog/gc.log
打印gc的日志分析后 , 找到了原因:
有人在代码的catch中 加入了 system.gc 方法 。这个接口是第三方接口 , 调用有时候会报错 。所以导致 发生 full gc 。
而 full gc 是会触发 stw (stop-the- word), 也就是 在full gc时 会让应用程序停顿 。所以会导致 cpu 百分之百 ,频繁gc.
bug
解决方法就是: 将代码中的System.gc 注释 ,然后将备机的 tomcat的war包下载 ,替换 class后上传到tomcat. 在备机重启后 。 在dubbo-admin中将这个接口服务的主机服务禁用 ,主备机接口调用全都 调用备机的 。
在备机重启后的状态就恢复正常:
【|生产环境调 Bug,还不影响用户体验,像极了一段视频】
推荐阅读
- 生猪|冲击!生猪调研实况!非瘟感染清场后的复养问题反思
- 饺子馅要放三种调料,少一种都不香,吃我做的饺子都是赞不绝口
- 馄饨的家常做法,从擀皮到调馅全教你,汤鲜肉香,太好吃了
- gitlab|GitLab成立中国合资公司极狐,强调“独立运营”
- 石头|长见识了!“石头”还能喂猪,不仅长得快、防病,还能改善环境
- 内分泌失调|内分泌失调会让人变丑?导致内分泌的原因有哪些?看完就明白了
- 做酥肉时拒绝此调料,味道全走歪,想要酥香不硬,窍门一一说
- 耳念珠菌|陈根:自然环境首次发现超级真菌,跨越十年溯源路
- 调饺子馅时,牢记5个诀窍,饺子贼香贼香的,立刻好吃10倍
- 调荠菜馅,牢记“2要2不要”,荠菜鲜香入味,脆嫩不涩,超好吃
