为企业级应用程序运行 Tomcat。收到“Permgen 内存不足”消息。
我正在运行这个:
Windows 2008 R2 服务器,Java 1.6_43,将 Tomcat 作为服务运行。
没有多次部署。服务启动,App 运行。最终我得到 Permgen 错误。
我可以通过增加烫发大小来延迟错误,但是我想实际解决这个问题。供应商否认这个问题。我不知道这是否是内存泄漏,因为供应商只是说“使用 Jrockit 运行良好”。Ofc,就像 3mos 前那样,在文档中会很好。另外,一些帖子建议 Jrockit 只是扩展 permspace 以适应,如果你有 mem 最多 4gb(不确定这是否准确......)。
无论如何,我看到一些帖子在 Java 1.5 中使用选项“-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled”进行潜在修复
但是,这些似乎在 Java 1.6 中已被弃用,现在唯一可用的 GC 似乎是“-XX:+UseG1GC”。
我能在任何地方找到的最佳链接是: http ://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#G1Options
有谁知道新的 G1 垃圾收集器是否包含永久空间?还是我在新的 Java6 GC 设置中遗漏了一个或 2 个可能我不理解的选项?
任何帮助表示赞赏!