【问题标题】:Allocation Failure of GC while restarting Tomcat 'apache-tomcat-8.0.33' with 'jdk 1.8'使用 'jdk 1.8' 重新启动 Tomcat 'apache-tomcat-8.0.33' 时 GC 分配失败
【发布时间】:2016-04-29 16:12:37
【问题描述】:

我有一个使用JDK1.6Tomcat 6 的网络应用程序。在我将 webapp 设置为使用 apache-tomcat-8.0.33jdk1.8 后,我停止 Tomcat 并重新启动它。我在日志文件中看到一个错误:

适用于 linux-amd64 JRE (1.8.0_05-b13) 的 Java HotSpot(TM) 64 位服务器 VM (25.5-b02),由“java_re”和 gcc 4.3.0 于 2014 年 3 月 18 日 00:29:27 构建20080428(红帽 4.3.0-8)
内存:4k page,物理32960008k(1705688k free),swap 4095992k(9328k free)

命令行标志:-XX:+CMSClassUnloadingEnabled -XX:InitialHeapSize=1073741824 -XX:MaxHeapSize=2097152000 -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC

0.299:[GC(分配失败)512K->384K(1048064K),0.0023630 秒]
0.462:[GC(分配失败)896K->664K(1048064K),0.0024930秒]

可能是什么问题?

【问题讨论】:

标签: java tomcat garbage-collection


【解决方案1】:

tomcat 出现这些错误通常有两个原因。 1. 你没有分配足够的内存。 2. 你分配的内存太多了。

我会赌 #2。

我可能误读了:

Memory: 4k page, physical 32960008k(1705688k free)

但这似乎表明您有 1.7GB 的可用内存。您的堆最初占用 1GB,最大为 2GB。这不会留下大量可用内存。

除非你真的需要 1GB 堆空间,否则你应该显着减少它,以及最大堆大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2015-08-24
    • 2017-12-08
    • 2020-01-06
    • 2016-06-20
    相关资源
    最近更新 更多