zoukankan      html  css  js  c++  java
  • 图片上传后台服务报内存溢出 Out Of Memory Java heap space

    背景

    前端调用后台,后台调用阿里云OSS上传图片时,图片大小如果超过900Kb,前端就会报Http 500内部服务器的异常信息。但是上传小于900kb大小的图片就没有问题。

    现象

    • 前端:http 500异常。

    • 后台服务日志:Out Of Memory : Java heap space

    解决办法

    1. 通过上传图片大小能判断出,服务器是通的,也就是说是后台服务器的问题,或者OSS服务有限制大小或者带宽的问题。

    2. 通过查看后台日志,后台报堆内存溢出,异常信息如下。

       org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space
    3. 通过异常信息,暂时排除OSS服务的问题。

    4. 分析图片大小,正常情况下,一个900KB大小的图片信息,后台读取大概需要10M的内存。然后查看了当前进程启动内存,是128M,正常情况下128M是可以的。但是在多线程并发的情况下,其实这个内存很小。后来启动内存改为最大内存改为256M后,再测试通过。但是图片大小超过3M还是报内存溢出?

    5. 问题点:为什么超过图片大小超过3M又报内存溢出呢?请大家讨论区评论吧

  • 相关阅读:
    51nod 1081 子段求和
    51nod 1085 背包问题
    51nod 1012 最小公倍数LCM
    51nod 1046 A^B Mod C
    51nod 1057 N的阶乘
    死锁 必然
    two-sum
    一些基本定义
    常用命令
    python_99_面向对象多态
  • 原文地址:https://www.cnblogs.com/lingduqianli/p/14968002.html
Copyright © 2011-2022 走看看