我在 Windows Server 2008 和 IIS7 上使用 coldfusion 8 时遇到了一个大问题。它们在生产服务器中,有时网站不可用,我必须从任务管理器手动结束 jrun.exe 进程,然后网站才可用。我意识到 jrun.exe 进程在崩溃时使用了大约 1.3Gb 的内存。这种情况每天发生 2-3 次,我查看了 coldfusion 日志,除了一些警告说某些作业的执行时间超过了 300 秒之外,我没有发现任何奇怪的事情。
我忘了说了,coldfusion 是 32 位应用程序,而 windows 是 64 位,这可能是问题所在吗?我不太擅长使用 coldfusion,所以如果有人知道如何排除故障,请告诉我,谢谢!
答案1
如果你的负载很重,JRun 就没有机会进行垃圾清理,请阅读http://www.adobe.com/devnet/coldfusion/articles/coldfusion_performance.html然后检查您自己的服务器,看看垃圾收集是否有机会运行。
请点击此处:http://gruchalski.com/2011/03/24/coldfusion-9-crashing-try-different-garbage-collection/
并尝试:
<cfset runtime = CreateObject("java", "java.lang.Runtime").getRuntime()>
<cfset runtime.gc()>
您可能还会遇到年轻一代永远没有机会清理的问题,如果您运行的是 32 位,请确保您的 -Xmn 值不要太高,再次查阅第一个链接。