前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一次fullGC故障复盘

一次fullGC故障复盘

原创
作者头像
用户1233856
发布2022-08-31 11:32:46
4840
发布2022-08-31 11:32:46
举报
文章被收录于专栏:白码晚股白码晚股

现象

部署情况:nacos,server,client

故障情况:

  • nacos可以启动,能访问,不经常能访问;
  • server启动很慢497107ms;
  • client起不来报错最多;

client报错日志,缓存文件:

代码语言:shell
复制
[X.X.X.X]2022-08-29 05:16:21.556 WARN [DubboSaveRegistryCache-thread-1] org.apache.dubbo.registry.nacos.NacosRegistry (AbstractRegistry.java:209) -  [DUBBO] Failed to save registry cache file, will retry, cause: null, dubbo version: 9.0.12, current host: X.X.X.X
java.nio.channels.OverlappingFileLockException: null
        at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
        at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1108)
        at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
        at org.apache.dubbo.registry.support.AbstractRegistry.doSaveProperties(AbstractRegistry.java:180)
        at org.apache.dubbo.registry.support.AbstractRegistry$SaveProperties.run(AbstractRegistry.java:526)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

client的dubbo缓存文件,提供者为空empty:

代码语言:shell
复制
inf_group/com.service.Service=empty\://192.168.118.1\:20881/com.boss.svcability.service.lte.LteTaskService?anyhost\=true&application\=svcability-service&category\=configurators&check\=false&default.group\=inf_group&default.timeout\=300000&dubbo\=5.1.BOSS-SNAPSHOT&interface\=com.boss.svcability.service.Service&methods\=callFinish,reCall,callReceipt&pid\=11896&side\=provider&threadpool\=cached&timestamp\=1525862004328

client报错日志,连接不上nacos:

代码语言:html
复制
<html><body><h1>Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id="created">mon Aug 2 an unexpected error (type=Forbidden, status=403).</div><div>unknown user,</div></body></html>

思路和举措

  • 应用打包问题 本机跑起来没问题,还是确保环境上打包的镜像包同样也没问题; 将环境上的包,下载下来在本地的tomcat下跑一下;
  • nacos问题 这个镜像是怎么提供,standalone模式运行有没有,找组件支撑人员看一下;

问题定位

日志

fullGC.png
fullGC.png

命令排查

代码语言:shell
复制
[root]#jps
44 nacos-server 
222248 jps
[root]#jstat -gcutil 44 2000 10 
jstat.png
jstat.png

问题解决

内存太小,改下启动参数,xmx xms改成2048m xmn改成512m

总结

事后看来,种种迹象都指向是注册中心问题nacos,但实际并不能迅速定位故障点。

  • 复杂性的排查 分布式,微服务,一交叉,用排除法分析,简单的问题就会复杂化。
  • 动态性的排查 这里的动态性是指一定条件下才会重新的故障,运行时才产生的故障。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现象
    • 部署情况:nacos,server,client
      • 故障情况:
      • 思路和举措
      • 问题定位
        • 日志
          • 命令排查
          • 问题解决
          • 总结
          相关产品与服务
          微服务引擎 TSE
          微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档