当前位置: 首页 > 知识库问答 >
问题:

java.lang.OutOfMemoryError:服务执行一周后,GC开销超过限制[重复]

海保臣
2023-03-14

我们已经为java应用程序配置了新的服务器,并部署了一个在java上运行的应用程序。一周后,我们收到了错误消息。lang.OutOfMemoryError:超出了GC开销限制,我们重新启动了服务,在又一周后,我们再次收到相同的错误,服务工作正常。

此服务先前在另一台服务器上运行,该服务器的配置比新服务器少。

我们在旧服务器中从未遇到过此错误。

此服务使用随软件提供的jre运行。

%JAVA\u HOME%\bin\JAVA“-server-Xms256M-Xmx256M,

增加Xms和XmX的值是否可以解决GC开销限制问题。

共有1个答案

赵献
2023-03-14

要回答问题中的实际问题,是的,增加这些值将暂时解决GC开销问题。但是你可能一个月看一次,或者每隔一个月看一次,而不是每周看一次那个神秘的错误。

这种行为令人难以置信地表明java内存泄漏。"但我以为java里不会有内存泄漏?"错了。在java中创建一个c/c类型的内存泄漏有点困难,但是在java中肯定有可能重复这种行为,以及同样不幸的结果。有关详细信息,请参阅使用Java创建泄漏内存。

我强烈建议重新评估该程序中导致GC开销限制的原因,并在那里解决它。

 类似资料:
  • 但这并不能解决我的问题。我在我的分级中启用了multidex,因为没有它我会得到错误: com.android.dex.DexIndexOverflowException:方法ID不在[0,0xFFFF]:65536 所以这是一个解决方案,它在以前的Android Studio版本(也适用于公司的其他人,他们正在使用Android Studio1.4-2.0),但在我升级了我的Android St

  • 问题内容: 我在一个程序中创建了这个错误,该程序创建了几个(数十万)HashMap对象,每个对象都有几个(15-20)文本条目。这些字符串必须全部收集(不分解成较小的数量),然后再提交给数据库。 根据Sun的说法,该错误发生“如果在垃圾回收上花费了太多时间:如果在垃圾回收上花费了总时间的98%以上,而回收不到2%的堆,则将引发OutOfMemoryError。 ”。 显然,可以使用命令行将参数传递

  • 我已经阅读了与此错误相关的所有其他问题,并尝试了他们的解决方案,但没有任何帮助。 这是我的身材。格拉德尔 我在Android Studio 2.1.3和Android Studio 2.2.3上试过,我试过卸载jdk,然后重新安装。我已经格式化了窗口并重试,但没有用。 我一直在学习java。lang.OutOfMemoryError:超出GC开销限制错误 我该如何解决这个问题?

  • 我得到一个java.lang.OutOfMemoryError:在Android1.4上运行gradle时超过了GC开销限制...以下是我的错误: 这怎么修复呢?

  • 什么是java。lang.OutOfMemoryError:Java堆空间意味着消息意味着应用程序只需要比正常运行可用的更多Java堆空间。 什么是java。lang.OutOfMemoryError:超出GC开销限制意味着由于某种原因,垃圾收集器占用了过多的时间(默认情况下占进程所有CPU时间的98%),每次运行时恢复的内存很少(默认情况下占堆的2%)。这在内部也意味着,当应用程序只需要比正常运

  • 我正在Eclipse-Windows上使用Java程序(读取大文件)。运行我的程序后,我得到的错误: 线程“main”java中出现异常。lang.OutOfMemoryError:超出GC开销限制 我明白了http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#par_gc.oom我应该在命令行中添加选项-XX: