网站百度推广和优化,wordpress 文件夹,招聘网站开发程序员,wordpress 简繁接现场运维报告某java服务CPU狂飙#xff0c;服务处于卡死无响应状态
询问现场运维什么场景造成的#xff0c;答复是偶发现象#xff0c;没有规律#xff0c;和请求高峰期并没有关系。
因为服务是负载均衡的#xff08;A、B两台#xff09;#xff0c;临时处理让运维重…接现场运维报告某java服务CPU狂飙服务处于卡死无响应状态
询问现场运维什么场景造成的答复是偶发现象没有规律和请求高峰期并没有关系。
因为服务是负载均衡的A、B两台临时处理让运维重启一个服务A下线服务B留作排查因为是直接kill的可能会出现数据丢失需要谨慎操作。初步排查并不是内存泄露造成的虽然内存占用很大也使用jstack看了一下线程没有死锁情况没招用jmap看运行内容由于正式环境无法直接连接调试所以使用jmap生成hprof快照再拿到本地检查jmap -dump:live,formatb,file/u01/logs/dump.hprof 97852文件的大小基本和服务运行内存保持一致使用jprofile打开此快照
打开后就长这个德行基本数据类型占用都很大直接看是看不出来什么玩意可以使用最下面的类视图过滤器就进行过滤只关注业务代码这里默认依赖都没有问题也不大可能有问题都是最简单的用法可以使用业务包名进行过滤 过滤后立马清晰明了某几个bo、vo实例数巨多我们选择当中某一个 选择传入引用 显示根路径 这个还不是很明显换一个bo继续看
这个出现了业务代码相关的引用了赶紧去翻代码 看了这个方法的引用询问了一下相关开发分析了一下应该是前端调用的大概就是根据查询条件返回list再for循环处理这里有一个大问题如果前端没有传查询条件就会全表查询让相应开发排查前端部分查询条件是另一个对象里面的字段可能为空排查方式不表 这次问题不复杂找对其实很快就能排查出来强烈建议搞不清楚生产环境出错原因的直接拉快照或者连接生产环境排查