首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lucee突然高Java CPU使用率

Lucee突然高Java CPU使用率
EN

Stack Overflow用户
提问于 2020-03-29 15:04:52
回答 1查看 123关注 0票数 0

在Ubuntu16/ Java 8_181上运行Lucee Lucee 5.2.7.62。

几天前,CPU使用率开始在50%左右运行,这似乎是由于两个属于Lucee spinning的Java线程造成的。重新启动Lucee和操作系统没有任何影响-一旦Lucee运行,旋转行为就会开始。

通过FusionReactor深入分析,这个问题似乎与计划任务有关。在出现此错误之前,似乎没有对计划任务进行任何更改。服务器在英国时区-我想知道这个问题是否与本周末从GMT切换到BST有关,尽管这个问题是在几天前开始的。

当我堆叠跟踪Fusionreactor中的旋转线程时,我通常会看到如下所示:

代码语言:javascript
复制
java.util.SimpleTimeZone.getOffsets(SimpleTimeZone.java:551)
- waiting on <0x5d7f0b89> (a java.util.SimpleTimeZone held by thread 84, Thread-50)
java.util.SimpleTimeZone.getOffset(SimpleTimeZone.java:540)
sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:293)
sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:236)
java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2340)
java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2312)
java.util.Calendar.setTimeInMillis(Calendar.java:1804)
java.util.GregorianCalendar.add(GregorianCalendar.java:1076)
lucee.runtime.schedule.ScheduledTaskThread.calculateNextExecution(ScheduledTaskThread.java:219)
lucee.runtime.schedule.ScheduledTaskThread._run(ScheduledTaskThread.java:121)
lucee.runtime.schedule.ScheduledTaskThread.run(ScheduledTaskThread.java:87)
EN

回答 1

Stack Overflow用户

发布于 2020-03-30 09:55:14

Fusionreactor指出了计划任务的问题,Thread Visiualizer显示了两个旋转任务,堆栈跟踪类似于以下内容。

我杀了这些线,旋转就停止了。然后,我可以在Lucee管理员中看到两个以粉色标记为永久停止的计划任务。重新启用这些进程并重新启动Lucee将问题带了回来,所以我一次又一次地终止了它们,在Lucee Administrator中任务变成了粉红色。他们也没有按照正常的时间表运行。其他计划的任务仍然正常运行,几个小时后,事情仍然正常。

然后,我删除并重新创建了两个似乎是问题所在的计划任务,并重新启动了Lucee。这两个任务都按计划运行。因此,我得出结论,不知何故,这两个任务的计时信息已经损坏,导致Lucee在试图计算下一次运行时间时产生旋转。围绕着它似乎在旋转的点的Luce源代码有一个“while(1)”循环,它似乎递增了一个日期变量--我怀疑这就是问题所在。

总而言之,获取计划任务的快照并重新创建,您可能会有一个解决方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60911145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档