如何避免jvm垃圾回收的抖动问题

当系统运行一段时间,jvm需要垃圾回收的时候,发现整个系统会“卡住”一段时间,几乎不能处理任何的请求,然后发现系统所占用的内存急剧下降,应该是被jvm回收了,不知道是系统架构问题还是jvm的问题,但这种“抖动”的确影响太大了,如何解决这个问题呢?从业务架构方向考虑还是java代码写的不够好?
谢谢指点!

你好,应该是代码问题吧,但这种情况还是找一个heap分析工具分析一下,找出问题,对症下药吧。

这个是正常的现象,这种现象有个名字叫做STW,也就是STOP THE WORLD,指的是在垃圾回收的时候jvm无法进行工作。可通过优化java代码或优化gc参数的方法来减少停顿时间。