JVM打印GC参数配置

来源:互联网 发布:搭配发型的软件 编辑:程序博客网 时间:2024/06/01 10:27
在eclipse的jdk,点击Edit,然后将default JVM arguments 配置成:
-Xmx5m -Xms5m -XX:-DoEscapeAnalysis -XX:+PrintGC
在Tomcat中开启GC日志:
Windows中的tomcat开启gc日志的方法:在catlinna.bat中添加set CATALINA_OPTS=-XX:ParallelGCThreads=4 -XX:+PrintGCDetails -Xloggc:D:/work/apache-tomcat-7.0.37-windows-x64/apache-tomcat-7.0.37/logs/tomcat_gc.log,gc日志就会打印到我们指定的日志文件中。 它的格式应该是这样:
Young gc 86.188: [GC [PSYoungGen: 32896K->880K(33024K)] 98532K->66588K(99264K), 0.0041792 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
在参数中加上 -XX:+PrintClassHistogram,其作用是打印类的使用情况,加上
去之 后其本身不会生效,在程序运行过程中按下Ctrl+Break键才会打印
类的使用情况。
在参数中加上-XX:+TraceClassLoading,其作用是打印类的加载情况,根据
打印的信息方便用户进行调试。
设置新生代的大小参数:-Xmn5m或者-XX:NewRatio=5,两者之间的区别:
前者是绝对值,如果设置成5M那么新生代的大小就是5M,后者是
一个比例,如果设置成5,那么新生代:老年代=1:5。
设置新生代的Survivor区和eden区,参数:-XX:SurvivorRatio,如果设置成8
就代表两个Survivor:eden = 2:8,即一个Survivor占年轻带的1/10。

发生OOM(OutOfMemoryError)时,可通过配置-XX:+HeapDumpOnOutOfMemoryError来将堆中的数据保存在文件中,
-XX:HeapDumpPath=d://a.dump指定文件的保存路径
原创粉丝点击