christmaz 2023-01-02 20:11 采纳率: 20%
浏览 72
已结题

springboot的jar包运行后内存占用过高,限制后出现outofmemory错误。

springboot项目,打成jar包140多MB(包括llib包)。放在服务器上,运行后占内存达1GB多。因为需要上传很多图片,每上传一些图片,内存都会增多一些。最后增到了2.5GB才稳定。这也太夸张了。
如果用-Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M之类的限制,会出现OutOfMemory:java heap space错误。
这种情况会是哪方面的因素导致的呢?

  • 写回答

1条回答 默认 最新

  • bingbingyihao 2023-01-02 20:50
    关注

    回答:如果是图片问题导致占用服务器资源,你可以看看图片是用来干嘛的,如果只是类似文件下载的作用,可以考虑采用文件服务器的对象存储服务OOS,如果是有别的功能,则可以考虑对图片进行一个替换操作,类似缓存处理,只对当前一部分图片加载到内存,别的图片暂时用不到的就不加载到内存,可以减轻一下服务器压力

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 专家已采纳回答 1月13日
  • 创建了问题 1月2日