gpt4 book ai didi

java - Lucee Java CPU 使用率突然升高

转载 作者:行者123 更新时间:2023-12-01 17:43:15 26 4
gpt4 key购买 nike

在 Ubuntu 16/Java 8_181 上运行 Lucee Lucee 5.2.7.62。

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

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

当我对 Fusionreactor 中的旋转线程进行堆栈跟踪时,我通常会看到如下内容:

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)


最佳答案

Fusionreactor 指出计划任务存在问题,线程可视化器显示两个旋转任务,堆栈跟踪类似于下面的内容。

我杀死了这些线程,旋转停止了。然后,我可以在 Lucee 管理器中看到两个用粉红色标记为永久停止的计划任务。重新启用这些进程并重新启动 Lucee 又使问题再次出现,因此我一次又一次地终止它们,Lucee 管理器中的任务变成粉红色。他们也没有按照正常的时间表运行。其他计划任务仍然运行正常,几个小时后一切仍然正常。

然后,我删除并重新创建了两个似乎是问题的计划任务,并重新启动了 Lucee。两项任务均按计划进行。因此,我得出的结论是,这两个任务的计时信息已被损坏,导致 Lucee 尝试计算下一个运行时间时出现旋转。 Luce 源代码围绕它似乎正在旋转的点有一个“while(1)”循环,该循环似乎在递增日期变量 - 我怀疑这就是事情被卡住的地方。

总之,获取计划任务并重新创建,您可能会找到解决方法。

关于java - Lucee Java CPU 使用率突然升高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60911145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com