案例学习20之内存长期占用导致系统缓慢
迪丽瓦拉
2024-06-01 21:32:07
0

前言:
发现问题,解决问题,是贯穿整个项目开发过程的事情,能够处理更多的问题,随着经验的丰富,提前预知更多的问题,让问题不出现是最好的解决问题方式。
问题背景:
项目运行过程中出现了爬取加载慢,核心服务内存占用很高的情况。
问题原因:
以下为分析出来的原因:
1.项目启动的时候分配的堆内存过小
2.项目运行过程中有大量的对象被创建出来,可是没有及时被GC回收,或者具有引用的GC无法回收
3.经过了GC之后,堆内的对象被清理,但是操作系统的内存没有被立刻释放
查看jvm用的是哪种垃圾回收器:
Windows+R > cmd > 输入命令 java -XX:+PrintCommandLineFlags -version
在这里插入图片描述

查看内存占用情况:
首先启动当前的项目
在这里插入图片描述
找到jdk的bin路径,找到jvisualvm.exe,双击打开
在这里插入图片描述
在左侧本地选择对应的项目,双击进去
在这里插入图片描述
点击红框内的监视
在这里插入图片描述
点击图右上角的“堆Dump”

查看到了内存占用情况
在这里插入图片描述
双击对应的行,查看详细的信息,根据信息选择针对性的解决方案
在这里插入图片描述

相关内容