故障
线上pda服务器出现卡慢,由于pda服务器主要是只是做了网关路由的服务,于是我们猜测是某个下游服务出现了问题,通过elk查看慢请求发现基本是仓储服务的请求很慢。于是我们判断是仓储服务出现了问题。
排查
与此同时,仓储的某台服务器服务心跳消息群里已经告警,我们进入服务器的grafana监控发现,这台服务器cpu已经快100%了,服务器处于假死状态,很久就出现了oom
于是我们第一步是把服务器nginx和dubbo下线,
然后,我们这边jvm配置了参数,oom后会自动把堆内存dump下来,
dump完之后我们对服务器进行了重启。同时我们发现这台服务器已经很久没有发布过了,配置又比较低只有4g,最近又拉了500家公司进来,考虑到可能是用户太多服务器扛不住导致的,于是又临时加了一个点分摊压力
dump文件下完后,我们通过eclips的mat工具进行分析,分析后发现整个堆内存的对象总共就只有一个g,那么问题来了,问什么会oom