我面临严重的ColdFusion Server崩溃问题。我在该服务器上有许多实时站点,因此这是严肃而紧迫的。
Windows Server 2003 R2,Enterprise X64 Edition,Service Pack 2 ColdFusion(8,0,1,195765)企业版
Intel(R)Xeon(R)CPU E7320 @ 2.13 GHZ,2.13 GHZ 31.9 GB的RAM
每小时都在崩溃。有人可以帮我找出确切的问题吗?我试图通过ColdFusion日志文件找到它但我在那里找不到任何东西。每次崩溃时,我都必须重置ColdFusion服务才能恢复它。
当我看到运行时日志文件“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并尝试重置coldfusion服务时,它不允许我启动它们并给出以下错误。
“Windows无法在本地计算机上启动ColdFusion MX Application Server。有关详细信息,请查看系统事件日志。如果这是非Microsoft服务,请与服务供应商联系,并参阅服务特定的错误代码2 。“
我应该无法将最大堆大小设置为1.8 GB,因为我使用的是64位操作系统。不是吗?
答案 0 :(得分:5)
您可以为JVM提供多少内存取决于JVM的不足,而不是您的操作系统。您是否正在运行64位CF安装?回到CF8时代,这是不寻常的事情,值得一提。
基本上错误是说你使用了太多内存(你知道多少)。我要看看你在会话和应用范围上投入了多少东西,并剔除了不必要的东西。
会话范围内的对象特别糟糕:它们的占用空间比人们想象的要大得多,并且造成的问题比它们的价值还要大。
我还会查看您有多少非活动但未超时的会话,以期对会话超时更加激进。
查看您的查询,并删除您拥有的任何SELECT *
,并将其剪切回您需要的列。将数据处理推送回DB而不是在CF中执行。
将计划任务停放到不同的CF实例上。
你在做大文件吗?要么阅读和处理它们,要么通过<cfcontent>
提供它们?这可以很快地咀嚼记忆。
CFC中的所有函数局部变量是否都已正确变量?特别是那些最终进入共享范围的CFCs。
您是否意外启用了调试功能?
您是否大量使用自定义标记或使用<cfmodule>
调入的文件?我听过自定义标签导致内存泄漏的错误故事。
抓住Mike Brunt或Charlie Arehart查看您的服务器配置/应用(他们显然会收取咨询费)。
我会更新这个,因为我想到了更多需要注意的事项。
答案 1 :(得分:0)
在管理员中打开ColdFusion监视器。用它来观察行为。查找长时间运行的流程和错误。
此外,请确保在ColdFusion服务器监视器中关闭内存监视。这将轻松打倒生产服务器。
答案 2 :(得分:0)
@Adil, 我有同样的问题,但它没有崩溃,但CPU使用率高达100%,不确定它与您的问题相关,但至少值得一看。 请参阅以下网址中的问题:
Strange JRUN issue. JRUN eating up 50% of memory for every two hours
我的博客条目
http://www.thecfguy.com/post.cfm/strange-coldfusion-issue-jrun-eating-up-to-50-of-cpu
对我来说,这是一个高流量的网站,并将客户端变量存储在注册表中,导致出现问题。
希望这有帮助。