Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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应用程序中驻留内存在增加?_Java_Jsf_Jpa_Memory_Primefaces - Fatal编程技术网

为什么我的Java应用程序中驻留内存在增加?

为什么我的Java应用程序中驻留内存在增加?,java,jsf,jpa,memory,primefaces,Java,Jsf,Jpa,Memory,Primefaces,我在Glassfish 4.0应用服务器中部署了一个应用程序。这样的应用程序具有密集的访问,也就是说,有很多用户定期访问web服务(大约每20秒有200个用户访问服务器)。我使用512 mb的permgen和1024mb的堆大小。我的服务器是CentOS虚拟服务器,有三个1.8Ghz和2Gb内存的内核 我的JVM是 Java(TM)SE运行时环境(build 1.7.0_51-b13) Java HotSpot(TM)服务器虚拟机(构建24.51-b03,混合模式) 我已经尝试使用VisualV

我在Glassfish 4.0应用服务器中部署了一个应用程序。这样的应用程序具有密集的访问,也就是说,有很多用户定期访问web服务(大约每20秒有200个用户访问服务器)。我使用512 mb的permgen和1024mb的堆大小。我的服务器是CentOS虚拟服务器,有三个1.8Ghz和2Gb内存的内核

我的JVM是 Java(TM)SE运行时环境(build 1.7.0_51-b13) Java HotSpot(TM)服务器虚拟机(构建24.51-b03,混合模式)

我已经尝试使用VisualVM和JConsole查找内存泄漏。但是垃圾收集器在这些工具上似乎工作得很好,因为堆和永久内存周期性地增减。然而,RES(常驻)内存只会增加,正如我在使用top命令时看到的那样

关于我的应用程序,它使用MySQL、JPA2、JPA和JSF2的EclipseLink实现以及Primefaces(5.2)


那么为什么我的驻留内存会增加呢?

好吧,你是唯一一个能看到里面有什么的人……你在运行什么jvm?你搜索过谷歌找到可能的原因了吗?快速搜索得到了一些有趣的结果,我忘了提到我的JVM是Java(TM)SE运行时环境(build 1.7.0_51-b13)Java HotSpot(TM)服务器VM(build 24.51-b03,混合模式)您的代码很可能是内存泄漏(即它一直在某处引用未使用的对象)。探查器可以指出它是哪些对象。只需检查哪些对象随时间累积,而不要减少。如果没有分析工具提供的数据,这个问题就无法得到合理的回答(即使这样,一旦你掌握了它,你通常已经自己回答了;这种问题总是没有答案,或者只能由OP自己回答)。我已经使用了分析工具(JConsole和VisualVM),但是他们没有给我们展示一个随时间增加的物体。实际上,我们一直在使用探查器监视内存,我们可以看到内存使用量在增加和减少,这是正常的。另一方面,驻留内存增长缓慢。好吧,你是唯一一个能看到里面有什么的人…你在运行什么jvm?你搜索过谷歌找到可能的原因吗?快速搜索得到了一些有趣的结果,我忘了提到我的JVM是Java(TM)SE运行时环境(build 1.7.0_51-b13)Java HotSpot(TM)服务器VM(build 24.51-b03,混合模式)您的代码很可能是内存泄漏(即它一直在某处引用未使用的对象)。探查器可以指出它是哪些对象。只需检查哪些对象随时间累积,而不要减少。如果没有分析工具提供的数据,这个问题就无法得到合理的回答(即使这样,一旦你掌握了它,你通常已经自己回答了;这种问题总是没有答案,或者只能由OP自己回答)。我已经使用了分析工具(JConsole和VisualVM),但是他们没有给我们展示一个随时间增加的物体。实际上,我们一直在使用探查器监视内存,我们可以看到内存使用量在增加和减少,这是正常的。另一方面,驻留内存增长缓慢。