【十四】jvm 性能调优实例
实例1:
POI Excel 导出
Excel对象很大,多人同时登录系统导出Excel的话,就会有多个大Excel对象到老年代,这是老年代需要回收,系统可能会卡顿。
jvm堆内存设置的越大,Full GC 耗费的时间越长,系统就可能出现卡顿。
解决方案:
部署tomcat集群,用Nginx负载均衡访问,并且将每个应用的jvm堆内存调小至4G。
如果没有所谓的大对象,不会经常触发FullGC的情况下,使用单个Web应用服务器会比使用多个高。
案例2:
场景:简单数据抓取系统,抓取网站上一些信息,分发到其它应用。
环境:Windows Server 2003 JDK5 2G内存 Itel core i3
问题:不定期内存溢出,把内存加大,也无济于事。导出堆转储快照信息,没有任何信息。内存监控正常。(捕获了一个bytebuffer异常,byte buffer是堆外内存)
解决:机器问题,机器太烂。