最近线上内存异常,通过mat分析dump下面的的栈,可以清楚的看到一个thread的局部list中包含了大量的业务对象。问题大概定位到了,但不能细节到某个类和方法层级,对于业务复杂的代码还是不容易。
好好研究了下mat的功能,发现可以通过thread的outgoing发现当前引起的service,不过注意噢,默认outgoing只显示前面的25条(被这个搞了一下)
前面带<Java Local>的代表是栈上的变量,即局部变量。
最近线上内存异常,通过mat分析dump下面的的栈,可以清楚的看到一个thread的局部list中包含了大量的业务对象。问题大概定位到了,但不能细节到某个类和方法层级,对于业务复杂的代码还是不容易。
好好研究了下mat的功能,发现可以通过thread的outgoing发现当前引起的service,不过注意噢,默认outgoing只显示前面的25条(被这个搞了一下)
前面带<Java Local>的代表是栈上的变量,即局部变量。