JVM调优

来源:互联网 发布:免费tk域名注册的网站 编辑:程序博客网 时间:2024/06/06 08:59


1、JXL导入excel导致Full GC (System)

问题描述:最近在监控GC日志发现总是会出现Full GC(System),如图所示,可能是程序员在开发时调用了System.gc(),于是在代码中搜索System.gc(),发现代码中没有调用System.gc()的地方。于继续监控GC日志,在出现Full GC(System)时,用命令jstat 22688 > a.txt将<b线程执行情况输出到文件中,然后查看文件,发现系统中导入试题功能正在执行,于是查看导题代码,没有发现问题,于是继续监控。再输出线程执行情况,还是导题功能正在执行,于是再次查看代码,还是没有发现问题。既然代码本身没有问题,那是不是引入的第3方jar包有问题?在导入excel时,我们用的是JXL,在网上找了个源码,查看源码发现在导入excel结束时,代码调用close()方法时调用了System.gc()。

问题解决:在jvm启动参数中加入-XX:+DisableExplicitGC问题解决。也不知道JXL中为什么要在关闭时调用System.gc()。


2、考试大并发情况下内存溢出

问题描述:

0 0