java调试整理

来源:互联网 发布:程序员上的网站 编辑:程序博客网 时间:2024/05/14 01:50

常用参数显示查找

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)






 

原创粉丝点击