前几日,碰见一个奇怪的现象,连续的文件上传操作,会导致JVM内存溢出,而且是java.lang.OutOfMemoryError: PermGen space,内存的永久保存区域溢出。最终,导致整个Apusic应用服务器宕掉。
对于Permanent Generation space,JVM在运行期是不会进行垃圾清理的,这块内存溢出,一般主要是因为加载的类太多了,超出了JVM的默认值,或者设定的值。一般的解决方案是加大permanent generation space的大小。
但是,在这里将MaxPermSize由原来的128M增加到256M,照样在上传一些文件之后出现同样的问题,估计这块空间再怎么增大,溢出都是迟早的问题。应用在启动的时候,一切正常,说明加载应用的class文件是不成问题的。增加maxPermSize对问题的解决没有意义。
但是,文件上传的操作,怎么会引起permGen space的溢出呢?想不明白?
还是来监控一下应用的日志吧。
整个应用运行期间一切都很正常,debug出来的持久层框架生成的SQL语句都非常正常,只是在某些时间点,并没有规律的时间点总是出现以下的信息:
2011-04-26 18:03:08 INFO [apusic.web.office./office] Closing Spring root WebApplicationContext
延伸阅读
- 2011-5-6-- 亚马逊宕机,Windows Phone应用程序商店出现首次宕机
- 2010-12-29-- skype宕机,Skype称Windows客户端漏洞引发上周宕机事件
- 2010-12-14-- 宕机是什么意思,亚马逊称硬件故障导致网站在欧洲宕机
- 2010-12-13-- 宕机是什么意思,亚马逊欧洲四国网站宕机半小时
- 2010-12-29-- skype宕机,Skype称Windows客户端漏洞引发上周宕机事件
- 2010-12-24-- 服务器宕机,Skype CEO称宕机中断服务已恢复正常
- 2010-12-23-- 服务器宕机,2010年宕机大事记
- 2010-12-23-- 服务器宕机,Skype查明全球性宕机原因 仍需数小时方能恢复
- 2010-12-24-- 服务器宕机,分析称Skype宕机事件将阻碍IPO计划
- 2010-12-13-- 宕机是什么意思,亚马逊欧洲四国网站宕机 尚无黑客宣布负责
最新评论