引言:更多相关请看 JVM+GC解析系列
面试问题:对于JDK自带的JVM监控和性能分析工具用过哪些?一般你是怎么用的?
概述
现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题:
OutOfMemoryError,内存不足
内存泄露
线程死锁
锁争用(Lock Contention)
Java进程消耗CPU过高
……
这些问题在日常开发、维护中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求。本文将对一些常用的JVM性能调优监控工具进行介绍,希望能起抛砖引玉之用。可以打开java安装目录/bin进行查看
https://docs.oracle.com/javase/8/docs/technotes/tools/
监视工具Monitoring Tools (jps, jstat, jstatd)
故障排除工具Troubleshooting Tools (jinfo, jhat, jmap, jsadebugd, jstack)
重点性能监控工具
jps(虚拟机进程状况工具)
jinfo(Java配置信息工具)
jmap(内存映像工具)
jstat(统计信息监控工具)