Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:Byte数组为webapp使用了超过50%的内存_Java_Arrays_Spring_Tomcat_Architecture - Fatal编程技术网

Java:Byte数组为webapp使用了超过50%的内存

Java:Byte数组为webapp使用了超过50%的内存,java,arrays,spring,tomcat,architecture,Java,Arrays,Spring,Tomcat,Architecture,我正在开发一个基于SpringMVC的应用程序,该应用程序部署在ApacheTomcat上的DebianWheezy64位Java-8x64上。当我开始分析时,我注意到字节数组被大量使用。 这正常吗 其次,我为GC设置了一些选项,如下所述。基于此,我看到了堆图,如您在屏幕截图中所看到的。我不明白的是,如何解释这个图表?它是否应该有尖刺,是否应该更像一个高原,等等 catalina.sh中的配置: CATALINA_OPTS="$CATALINA_OPTS -server -XX:+UsePara

我正在开发一个基于SpringMVC的应用程序,该应用程序部署在ApacheTomcat上的DebianWheezy64位Java-8x64上。当我开始分析时,我注意到字节数组被大量使用。 这正常吗

其次,我为GC设置了一些选项,如下所述。基于此,我看到了堆图,如您在屏幕截图中所看到的。我不明白的是,如何解释这个图表?它是否应该有尖刺,是否应该更像一个高原,等等

catalina.sh中的配置:

CATALINA_OPTS="$CATALINA_OPTS -server -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=port_number -Dcom.sun.management.jmxremote.authenticate=true 
    -Dcom.sun.management.jmxremote.ssl=false"
VisualVM分析工具的屏幕截图:

下面是字节数组消耗量:


我希望我的问题是清楚的。非常感谢

内存中较大的
byte[]
s通常是将大量内容从磁盘加载到内存中的结果,尤其是图像。@ControlAltDel:我们有很多临时对象,但没有一个加载到内存中。我们有一个Comet,它是推送通知或推送消息框架。