1.jsp 查看java进程pid
pid是后面几个命令使用都需要的参数,所以这个命令最好掌握。(如果发现命令执行报错,就是java环境变量相关没配好,网上找下资料解决)
2.jinfo 查看jvm运行参数
我一般习惯命令:jinfo -flags pid
查看某一个参数:jinfo -flag 参数名 pid
3.jmap
查看当前堆信息:jmap -heap pid
dump出堆内存信息:jmap -dump:format=b,file=存放路径+名称.hprof pid
在有内存泄漏时候,我们可以手动dump(或jvm参数配置,在OOM之前自动dump)出堆内存信息,然后通过eclipse的MAT工具,进行分析,哪里发生了内存泄漏,然后解决。
4.jstack 在cpu飙升时候,可用来查看程序是否有死锁
打印线程堆栈:jstack pid
会打印一堆线程信息,直接拉最后面,如果有死锁,最后面一段话会有写。
5. jstat -gc 可用来打印各区最新使用情况
个人感觉挺鸡肋的一个工具,很少用到。
命令:jstat -gc pid
命令: jstat -gc pid 多少毫秒执行一次 一共执行几次