我在玻璃鱼面临一个非常恼火的例外
SEVERE: Exception in thread "RMI RenewClean-[192.168.1.2:8686]"
SEVERE: PermGen space
java.lang.OutOfMemoryError: PermGen space
我的硬件资源很高,当我打开任务管理器并注意到资源时,它是可用的, 这个例外迫使我每10到15分钟重新启动一次电脑:(我该怎么办?
答案 0 :(得分:3)
您需要使用-XX:MaxPermSize=256m
标记增加PermGen空间的数量。
见this related SO question
要在Glassfish中进行设置,请使用following steps:
-XX:MaxPermSize=256m
内存量取决于您需要的金额。如果它继续崩溃,请增加它,但阅读PermGen文章可能有助于确定正确的金额。
答案 1 :(得分:2)
permgem空间是玻璃鱼中最令人恼火的错误之一。
permgem空间是在服务器中使用大量部署或重新部署时出现的错误,因为服务器会保留内存并且永远不会释放它。我建议您使用Apache JMeter监视服务器以查看内存量(如果它接近最大值,请在崩溃之前重新启动它。)
要临时修复它,您必须在服务器中包含一些变量,以提高Glassfish管理员的记忆消耗,如amccormack所述。
我建议你使用
-XX:PermSize =512米
-XX:MaxPermSize参数=512米
-XX:+ CMSClassUnloadingEnabled
顺便说一句,如果出现permgem空间错误,服务器将不响应(甚至asadmin stop-domain)。但是,如果您终止运行glassfish的java进程并调用asadmin start-domain,则可以轻松重启。我认为它比重新启动所有服务器更快。