1,jps
虚拟机进程状况工具,显示指定系统内所有的 HotSpot 虚拟机进程。
jps -q :只输出id。
jps -l:输出主类全面,如进程执行的jar包,输出jar包路径。
jps -m:输出虚拟机进程启动时传递给主类main()函数的参数。
jps -v :输出虚拟机启动时jvm参数。
2,jstat
虚拟机统计信息监视工具
jstat -class :监视类装载、卸载数量、总空间以及类装载所耗费的时间。
jstat -gc : 监视java堆状况
jstat -gccapacity : 监视内容与 -gc 基本相同,但重点 关注java堆各区域使用到的最大、最小空间。
jstat -gcutil : 监视内容与 -gc 基本相同,但重点关注已使用空间占总空间的百分比。
jstat -gccause :与-gcutil功能一样,但会额外输出导致上一次gc产生的原因。
jstat -gcnew : 监视新生代gc状况。
jstat -gcnewcapacity : 和-gcnew基本相同,但重点关注使用到的最大、最小空间。
jstat -gcold : 监视老年代状况。
jstat -gcoldcapacity : 和-gcold 基本相同,但重点关注使用到的最大、最小空间。
jstat -gcpermcapacity / -gcmetacapacity :永久代使用到的最大、最小空间。
jstat -compiler : 输出JIT编译器编译过的方法、耗时信息。
jstat -printcompilation : 输出已经被JIT编译的方法。
3,jinfo
java配置信息工具,实时查看和调整虚拟机各项参数。
jinfo -flag 参数 vmid
例: jinfo -flag CMSInitiatingOccupancyFraction 25505
4,jmap
内存映射工具,用于生成java堆转储快照。
jmap -dump:format=b,file=jmap.bin vmid 生成dump文件。
jmap -finalizerinfo :显示在F-Queue中等待Finalizer线程执行finalize方法的对象。
jmap -heap : 显示java堆详细信息。
jmap -histo : 显示堆中对象统计信息,包括类、实例数量、合计容量。
jmap -permstat / -clstats : 以ClassLoader为统计口径显示永久代内存状态。
jmap -F : 强制生成dump快照。
5,jhat
分析jmap生成的dump快照。
jhat jamp.bin
浏览器访问。
6,jstack
java堆栈跟踪工具,用于生成当前时刻的线程快照(threaddump或者javacore文件)。
jstack -F : 当正常输出的请求不被响应时,强制输出线程快照。
jstack -l : 除堆栈外,显示关于锁的附加信息。
jstack -m : 如果调用到本地方法,可以显示C/C++的堆栈。