排查利器
btrace
首当其冲的要说的是btrace。真是生产环境&预发的排查问题大杀器。 简介什么的就不说了。直接上代码干
1.查看当前谁调用了ArrayList的add方法,同时只打印当前ArrayList的size大于500的线程调用栈
https://blog.csdn.net/u011630575/article/details/49404277
其他功能集团的一些工具或多或少都有,就不说了。感兴趣的请移步。
https://github.com/btraceio/btrace
JProfiler
之前判断许多问题要通过JProfiler,但是现在Greys和btrace基本都能搞定了。再加上出问题的基本上都是生产环境(网络隔离),所以基本不怎么使用了,但是还是要标记一下。
官网请移步https://www.ej-technologies.com/products/jprofiler/overview.html
大杀器
eclipseMAT
可作为eclipse的插件,也可作为单独的程序打开。
详情请移步http://www.eclipse.org/mat/
zprofiler
集团内的开发应该是无人不知无人不晓了。简而言之一句话:有了zprofiler还要mat干嘛
详情请移步zprofiler.alibaba-inc.com
java三板斧,噢不对,是七把
jps
jps -mlvV
-m:输出主函数传入的参数
-l: 输出应用程序主类完整package名称或jar完整名称.
-v: 列出jvm参数, -Xms20m -Xmx50m是启动程序指定的jvm参数
-V: 输出通过.hotsportrc或-XX:Flags=<filename>指定的jvm参数
jstack
普通用法:
jstack PID
native+java栈:
jstack -m PID
jinfo
可看系统启动的参数,如下
jinfo -flags 10559
jmap
两个用途
1.查看堆的情况
jmap -heap 10559
2.dump
有问题可关注微信公众号:戒律院,加我好友,向我咨询