【发布时间】:2013-11-29 07:08:38
【问题描述】:
我正面临严重的 ColdFusion 服务器崩溃问题。我在该服务器上有许多实时站点,所以这很严重且紧急。
系统规格如下:
Windows Server 2003 R2,企业 X64 版,Service Pack 2 ColdFusion (8,0,1,195765) 企业版
以下是硬件规格:
Intel(R) Xeon(R) CPU E7320 @2.13 GHZ, 2.13 GHZ 31.9 GB 内存
它在每小时的基础上崩溃。有人可以帮我找出确切的问题吗?我试图通过 ColdFusion 日志文件找到它,但我在那里找不到任何东西。每次崩溃时,我都必须重置 ColdFusion 服务才能恢复。
编辑1
当我看到运行时日志文件“ColdFusion-out165.log”时,我发现了以下错误
error ROOT CAUSE:
java.lang.OutOfMemoryError: Java heap space
javax.servlet.ServletException: ROOT CAUSE:
java.lang.OutOfMemoryError: Java heap space
04/18 16:19:44 error ROOT CAUSE:
java.lang.OutOfMemoryError: GC overhead limit exceeded
javax.servlet.ServletException: ROOT CAUSE:
java.lang.OutOfMemoryError: GC overhead limit exceeded
这是我当前的 JVM 设置:
如你所见,我的 JVM 设置是
最小 JVM 堆大小 (MB):512
最大 JVM 堆大小 (MB):1024
JVM 参数
-server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=512m -XX:+UseParallelGC -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib
注意:- 当我尝试将最大 JVM 堆大小增加到 1536 并尝试重置冷融合服务时,它不允许我启动它们并给出以下错误。
“Windows 无法在本地计算机上启动 ColdFusion MX 应用程序服务器。有关详细信息,请查看系统事件日志。如果这是非 Microsoft 服务,请联系服务供应商,并参阅特定于服务的错误代码 2 。”
我应该无法将最大堆大小设置为 1.8 GB,因为我使用的是 64 位操作系统。不是吗?
【问题讨论】:
-
无法判断问题出在哪里,您所告诉我们的只是您的服务器规格。另外,它实际上是每小时崩溃还是你只是频繁地崩溃?如果是每小时一次,我会说检查您正在运行的计划任务之类的事情。
-
正如@duncan 所说。告诉我们您在日志中看到的内容,以便得出解决方案。
-
日志中一定有内容。检查 jrun4\logs\cfusion-out.log
-
可能还值得看看@CF 状态,看看是否有许多线程正在排队和/或 SQL 服务器(假设有一个 SQL 后端),以防有慢查询导致问题。不过,正如邓肯所说,不可能真正从您的描述中提供任何有用的建议。
-
@Miguel-F 正如你所说,我检查了 cfusion-out.log 并在原始帖子中添加了我的发现。请检查edit1,看看你现在是否得到一些线索。非常感谢您的帮助。