一、现象
当上传附件时,系统反复出现宕机问题(内存溢出)。
二、分析
dump线程日志和GC日志,发现JVM启动参数未设置,初始内存较小,当附件上传时,附件较大,内存剧增,来不及扩容就OOM了。
三、解决方法
设置初始JVM启动参数(生产上应该先考虑项目JVM初始参数设置值,不是等到出问题了再跑去解决)
-Xms 2048m -Xmx4096m -XX:MetaspaceSize = 512m -XX:MaxMetaspaceSize = 1024m
具体线参数含义请参考jvm篇