最近刚发布了一个网站,运行一段时间后网站就瘫痪了
网站用的容器是tomcat,操作系统centos 内存4G
这个是启动参数 -Xms2048m -Xms2048m -Xmn500 -XX:PermSize=128m -XX:MaxPermSize=128m -XX:SurvivorRatio=4
-XX:MaxGCPauseMillis=100 -XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+UseParallelOldGC
大概现象是这样的:
网站瘫痪后,用自带的jstat监控了一下内存的使用情况
(由于现在服务重启了切不了图,只能在这里描述了一下)
其中E(初生代) 和0(年老代)都是占满了100%
YGC不变 FGC持续增长
内存不通够释放掉
补充一下:网站不停给人家恶意访问,不断频烦的访问.
你把内存中东西dump下来,然后分析下内存中都是什么对象。我情愿相信有内存泄漏,推荐你一个内存分析工具YourKit
2G内存,GCPause时间100毫秒不够的。