标签:java
1、问题
OutOfMemoryError: 内存不足;
内存泄漏
线程死锁
锁竞争(Lock Contention)
java消耗过多的CPU
2、java常用健康工具
jps (java virtual machine process status tool) 监控jvm进程状态信息
使用格式:
jps [options] [hostid]
-m: 输出传入main方法的参数
-l: 显示main类或jar的完全限定名称
-v: 显示为jvm虚拟机指定的参数
jstack: 查看某个java进程内的线程堆栈信息;
使用格式:
jstack [options] pid
-l long listings:输出完成的锁信息;
-m: 混合模式,即会输出java堆栈及C/C++堆栈信息
jmap和jhat:
jmap: jvm memory map,查看堆内存使用情况
jhat: java heap analysis tool
使用格式:
jmap [options] pid
-heap: 详细堆内存空间使用状态信息
-histo[:live] 查看堆内存中的对象数目、大小统计结果;
jstat:jvm统计监测工具
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
其中<option>为必须提供的选项,所有可用选项可使用jstat -options列出;
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation
字段意义:
S0C, S1C, S0U, S1U: C表示容量,U表示已用量;
EC, EU:eden区域的容量和已用量;
OC, OU
PC, PU
YGC, YGT:新生代的GC次数和耗时;
FGC, FGCT: FULL GC的次数和耗时;
GCT:GC总耗时;
两个GUI工具:jconsole, jvisualvm
标签:java
原文地址:http://xiexiaojun.blog.51cto.com/2305291/1718743