性能调优工具问题基础知识面试准备

你常用的调优工具有哪些?

java常用调优工具

性能调优工具问题基础知识面试准备

堆dump分析

堆dump分析,主要事实定位OOM异常的原因,分4步
1.分析OOM异常的原因,堆溢出还是栈溢出或者是本地内存溢出
2.如果是堆溢出了,导出堆dump,并对内存使用有个整体了解;
3.找到最有可能导致堆内存溢出的,通常也就是消耗内存最多的对象
4.使用辅助工具对dump文件进行分析;
注意其他几类造成OOM异常的原因
1.Direct Memory
2.线程堆栈:
单线程:*Error
多线程:OutOfMemoryError:unable to create new native thread(无法创建新的本机线程)
3. Socket 缓冲区:IOException:Too many open files(打开的文件太多)

线程dump分析

线程dump分析,主要的目的是定位线程长时间停顿的原因
性能调优工具问题基础知识面试准备

如果碰到应用故障你怎么样排除问题

应用故障一般指应用运行缓慢,用户体验差或者周期性的出现卡顿,排除的思路:
第一步我会检测应用所在的生产环境的软硬件以及网络环境,排除外围的因素
第二步我会确定他是否是OOM异常,这类异常影响是最恶劣的,但是比较容易被排查出来
然后我会确定是否有大量长时间停顿的应用线程,非常占用CPU资源的线程;
最后,周期性的卡顿很有可能是因为垃圾回收造成的,web后端系统建议使用cms垃圾回收器;