【问题标题】:Quartz schedular exception java.lang.OutOfMemoryErrorQuartz 调度程序异常 java.lang.OutOfMemoryError
【发布时间】:2013-05-07 00:49:01
【问题描述】:

我正在使用石英时间表。

部署一段时间后,它显示以下异常

Exception in thread "http-bio-8084-exec-3" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-bio-8084-exec-1" java.lang.OutOfMemoryError: PermGen space

如何解决这个异常。

【问题讨论】:

  • 这是什么程序,是怎么启动的?你使用java MyClass 来启动它
  • 重新部署时显示异常
  • 你怎么知道这是由于使用了石英?
  • 显示错误堆栈的夸脱

标签: java tomcat quartz-scheduler


【解决方案1】:

尝试在启动 jvm 时设置 jvm 的最大大小属性

-XX:MaxPermSize=128M

您可以阅读更多关于选项here、here 和here

【讨论】:

  • 我的共享服务器堆大小为 64Mb。我没有获得堆大小设置的选项
  • @user2302288 这不是堆问题,Perm 空间是不同的空间。使用的容器是什么,它是如何启动的
【解决方案2】:

是的,绝对不是堆问题。

如果在加载类时出现任何错误,则会出现 Permgen 空间问题。所以,这里你的类没有正确加载 这意味着您的 permgen 较少(与堆大小不同,也是 jvm 中的可配置属性)。

【讨论】:

  • 如何检测哪个类加载不正确
  • 我对此一无所知,但类加载问题完全是由于没有任何可用空间将您的类定义加载到内存中。相反,我建议先尝试增加 Permgen 大小,然后再查看结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多