一次测试环境的高内存排查

112 阅读1分钟

下午的时候突然收到使用人员反馈,说系统特别卡。

image.png

用浏览器访问系统,果然好卡,以至于页面很久都不能显示出来,F12打开调试,发现最长的一个请求耗时2.5min,不卡才怪。

开始怀疑是数据库的原因,进入mysql所在的服务器,发现一切正常,没有高内存,高CPU的现象。根据卡顿的请求,找出代码中对应的sql,在数据库可视化软件中执行。

image.png

该请求的sql8毫秒执行完成,说明数据库正常,那就是代码层面的问题了。

因为应用跑在容器里,登录云管平台,查看服务运行情况。 容器总内存2G,占用1.96G不卡才怪。

image.png

导出dump文件

image.png

image.png

登录容器,通过scp命令把dump文件传输到其它服务器上。

image.png

使用MAT工具分析该文件。

image.png

在问题2中可以看出,是h2内存数据库占用内存太多了,解决思路,扩大容器内存,重启容器。

image.png

之后就访问正常了。