有做过测试的同学,应该或多或少都见过 OOM 的错误吧
![60b0da0ee1d091f0d512c2e2daae1ae9.png](https://i-blog.csdnimg.cn/blog_migrate/dadb1a434544dab203942974f9222ba5.jpeg)
这种错误日志见过吗?相信很多人,都很熟悉,老朋友了。
但是,这种问题,我们怎么才能准确定位到问题根源呢?
很多测试朋友可能就望而却步了,说这是开发人员的事情,让开发人员去排查好了。你如果是初、中级测试工程师,你可以这样说,但是,如果你是高级测试工程师,你是性能测试工程师,那,恐怕就是你不负责任了。
当你深入学习了之后,你可能发现 jvm 自带的 jmap 可以查看这种内存溢出问题,但是,当你真正去用的时候,你又会发现,你想用一个 jmap 来抓取内存溢出的包,估计你得等到海枯石烂,天荒地老,时间非常长,而一旦中间中断,你这次抓包就失败了。
今天给大家介绍一个神器——arthas,它是阿里开源的一款 jvm 分析工具。
现在我有个项目,就有内存溢出问题
首先,启动项目,再启动 arthas,查看到这个项目堆使用率约 26%