常用参数显示查找
java -?
java -X 非标准参数
java -XX:+PrintFlagsFinal 非稳定参数 jdk1.6 update 21之后
jps -l主类全名 -v jvm参数
jstat
-class 类装载耗时 -gc java堆状况
-gcutil 百分比显示
-gccause 上次gc原因
eg.:jstat -gcutil -h20 pid 1s
jinfo -flag pid 显示参数值
eg.: jinfo -flag UseParallelOldGC 31072
jmap heapdump文件生成 -XX:HeapDumpPath=${目录}
(1)-XX:+HeapDumpOnOutOfMemoryError (2) -XX:+HeapDumpOnCtrlBreak [ctrl]+[Break]
(3) kill -3 (4)jmap -dump:format=b,file=fileName.hprof PID
jhat fileName.hprof http://localhost:7000/ 可以查,一般使用 heapanalyzer,java visualvm分析
jmap -heap pid
jstack -l 除堆栈外,显示关于锁的附加信息 输出堆栈
调试参数
-XX:+PrintGCDetails -verbose:gc -Xloggc:gc.log-XX:PrintHeapAtGC
常用参数
-server -Xms2g-Xmx2g -XX:PermSize=256m -XX:MaxPermSize=256m
-XX:+UserParNewGC -XX:+UserComcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompation -XX:MaxTenuringThreshold=8
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
full gc原因
1.旧生代空间不足
2.持久代空间满
3.CMS GC时出现promotion failed和concurrent mode failure
4.System.gc();
GCDetail日志含义 (参考http://blog.csdn.net/alivetime/article/details/6895537)