相关疑难解决方法(0)

处理"java.lang.OutOfMemoryError:PermGen space"错误

最近我在我的Web应用程序中遇到了这个错误:

java.lang.OutOfMemoryError:PermGen空间

这是在Tomcat 6和JDK 1.6上运行的典型Hibernate/JPA + IceFaces/JSF应用程序.显然,重新部署应用程序几次后就会发生这种情况.

导致它的原因以及可以采取哪些措施来避免它?我该如何解决这个问题?

memory-leaks exception out-of-memory permgen java-6

1215
推荐指数
17
解决办法
102万
查看次数

在Java 8中MetaSpace有什么用?

我知道他们已经用Java 8中的MetaSpace取代了PermGen.但我几乎没有问题:

  1. MetaSpace默认是GC收集的吗?
  2. 即使PermGen是通过添加args来收集GC -XX:+CMSClassUnloadingEnabled,那么是什么让MetaSpace比PermGen更好?
  3. MetaSpace基于本机内存,因此它将java对象保留在磁盘而不是VM上?
  4. 即使MetaSpace也会耗尽内存?如果是这样,我会得到OutOfMemoryException.
  5. 默认情况下,MetaSpace可以增加内存?

提前致谢

java garbage-collection java-8

53
推荐指数
3
解决办法
4万
查看次数