用了一年多的WAS平台,原指望能够把所有跑在TOMCAT上的应用迁移到WAS上,但是今年好几次出现内存溢出宕机的情况,也够烦人的,现总结几点心得: 1、应用开发的代码质量不高: 我最怕很多新人开发的代码,出问题多多的,经常出现一个SQL语句就把表的大批量数据...
显示全部用了一年多的WAS平台,原指望能够把所有跑在TOMCAT上的应用迁移到WAS上,但是今年好几次出现内存溢出宕机的情况,也够烦人的,现总结几点心得:
1、应用开发的代码质量不高:
我最怕很多新人开发的代码,出问题多多的,经常出现一个SQL语句就把表的大批量数据load到应用服务的内存中,然后在应用服务器进行业务处理和分析,数据表小的还可以撑住,万一数据量大,肯定内存溢出宕机,这种情况经常出现在刚开始运行的时候没问题,等到运行一段时间后,数据量大了,内存溢出宕机频繁出现的情况,最可怕的是,这时候原来开发的人已经不见了,维护人员只好硬着头皮顶着。
2、JVM设置太小
WAS服务的JVM默认是256M内存,对于代码质量好的应用服务应该没问题,但是经常出现的就是由于业务处理期间超过256M,系统来不及回收而导致内存溢出宕机。
3、JVM设置太大导致物理内存不足
WAS服务的JVM的初始内存设置太大时候,物理内存不足已创建线程,这时候也会出现内存溢出宕机的情况
收起