我在Glassfish 4.0 Application Server中部署了一个应用程序。这样的应用程序具有密集访问权限,即,有许多用户定期访问Web服务(每20秒访问服务器的aprox 200用户)。我使用的是512 mb的permgen和1024mb的堆大小。我的服务器是一个CentOS虚拟服务器,有三个核心,1.8Ghz和2Gb内存。
我的JVM是 Java(TM)SE运行时环境(版本1.7.0_51-b13) Java HotSpot(TM)服务器VM(构建24.51-b03,混合模式)
我已经尝试使用VisualVM和JConsole查找内存泄漏。但垃圾收集器似乎在这些工具上运行良好,因为堆和permgen存储器会定期增加和减少。但是,RES(常驻)内存只会增加,我可以看到使用top命令。
关于我的应用程序,它使用MySQL,JPA 2,JPA和JSF 2以及Primefaces(5.2)的EclipseLink实现。
那么为什么我的常驻记忆会增加?