java.lang.OutOfMemoryError: GC overhead limit exceeded on Scala
java.lang.OutOfMemoryError: GC overhead limit exceeded on Scala
我是 Scala 开发人员,我在包含 1008 行 的 Routes 文件中收到此错误,如果我添加另一行抛出以下错误..
Uncaught error from thread [sbt-web-scheduler-1] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[sbt-web]
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest.read(Unknown Source)
at java.util.jar.Manifest.<init>(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getManifest(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
[ERROR] [04/12/2016 15:17:32.883] [sbt-web-scheduler-1] [ActorSystem(sbt-web)] exception on LARSÆ timer thread
at java.net.URLClassLoader.access0(Unknown Source)
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at akka.actor.LightArrayRevolverScheduler$$anon.nextTick(Scheduler.scala:409)
at java.security.AccessController.doPrivileged(Native Method)
at akka.actor.LightArrayRevolverScheduler$$anon.run(Scheduler.scala:375)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at akka.event.Logging$Info$.apply(Logging.scala:665)
at akka.event.BusLogging.notifyInfo(Logging.scala:1140)
at akka.event.LoggingAdapter$class.info(Logging.scala:950)
at akka.event.BusLogging.info(Logging.scala:1128)
at akka.actor.LightArrayRevolverScheduler$$anon.run(Scheduler.scala:382)
[ERROR] [04/12/2016 15:18:33.808] [sbt-web-scheduler-1] [ActorSystem(sbt-web)] Uncaught error from thread [sbt-web-scheduler-1] at java.lang.Thread.run(Unknown Source)
shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest.read(Unknown Source)
at java.util.jar.Manifest.<init>(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getManifest(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
路由中接受了多少行?我该如何解决?
编辑:Eclipse
谢谢,
B.UdayaKumar
通常,当 space 不足以在 Java 堆中分配对象时,会抛出此错误。在这种情况下,垃圾收集器无法使 space 可用于容纳新对象,并且无法进一步扩展堆。此外,当本机内存不足以支持加载 Java class 时,可能会抛出此错误。在极少数情况下,当花费过多时间进行垃圾收集并且释放的内存很少时,可能会抛出 java.lang.OutOfMemoryError
。
您基本上 运行 内存不足 运行 进程顺利进行。想到的选项是:
- 使用
JAVA_OPTS
环境变量指定更多内存,尝试介于两者之间的一些东西,例如 -Xmx1G
.
- 您还可以通过启用
-XX:+UseConcMarkSweepGC
手动调整 GC
有关 GC 调整的更多选项,请参阅 Concurrent Mark Sweep
增加 HEAP 大小应该可以解决您的路由限制问题。
我是 Scala 开发人员,我在包含 1008 行 的 Routes 文件中收到此错误,如果我添加另一行抛出以下错误..
Uncaught error from thread [sbt-web-scheduler-1] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[sbt-web]
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest.read(Unknown Source)
at java.util.jar.Manifest.<init>(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getManifest(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
[ERROR] [04/12/2016 15:17:32.883] [sbt-web-scheduler-1] [ActorSystem(sbt-web)] exception on LARSÆ timer thread
at java.net.URLClassLoader.access0(Unknown Source)
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at akka.actor.LightArrayRevolverScheduler$$anon.nextTick(Scheduler.scala:409)
at java.security.AccessController.doPrivileged(Native Method)
at akka.actor.LightArrayRevolverScheduler$$anon.run(Scheduler.scala:375)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at akka.event.Logging$Info$.apply(Logging.scala:665)
at akka.event.BusLogging.notifyInfo(Logging.scala:1140)
at akka.event.LoggingAdapter$class.info(Logging.scala:950)
at akka.event.BusLogging.info(Logging.scala:1128)
at akka.actor.LightArrayRevolverScheduler$$anon.run(Scheduler.scala:382)
[ERROR] [04/12/2016 15:18:33.808] [sbt-web-scheduler-1] [ActorSystem(sbt-web)] Uncaught error from thread [sbt-web-scheduler-1] at java.lang.Thread.run(Unknown Source)
shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest$FastInputStream.<init>(Unknown Source)
at java.util.jar.Manifest.read(Unknown Source)
at java.util.jar.Manifest.<init>(Unknown Source)
at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
at java.util.jar.JarFile.getManifest(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getManifest(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
路由中接受了多少行?我该如何解决?
编辑:Eclipse
谢谢, B.UdayaKumar
通常,当 space 不足以在 Java 堆中分配对象时,会抛出此错误。在这种情况下,垃圾收集器无法使 space 可用于容纳新对象,并且无法进一步扩展堆。此外,当本机内存不足以支持加载 Java class 时,可能会抛出此错误。在极少数情况下,当花费过多时间进行垃圾收集并且释放的内存很少时,可能会抛出 java.lang.OutOfMemoryError
。
您基本上 运行 内存不足 运行 进程顺利进行。想到的选项是:
- 使用
JAVA_OPTS
环境变量指定更多内存,尝试介于两者之间的一些东西,例如 -Xmx1G
. - 您还可以通过启用
-XX:+UseConcMarkSweepGC
手动调整 GC
有关 GC 调整的更多选项,请参阅 Concurrent Mark Sweep
增加 HEAP 大小应该可以解决您的路由限制问题。