【发布时间】:2013-11-27 21:46:08
【问题描述】:
我们在循环负载平衡器上有 6 个 Windows Server 2008/IIS 7.5 ColdFusion 9.0.2 服务器。每个服务器分配 2GB 用于 ColdFusion。服务器总共有 6GB 内存。垃圾收集似乎是所有服务器的一个问题,但我不确定如何在不回收 ColdFusion 的情况下解决这个问题。
下图是过去几天我们 6 台服务器的 AVG/MAX 内存。 AVG 内存每天都在增加。最终,服务器开始排队请求(因为它们无法足够快地处理它们),我们别无选择,只能回收。
图表中的数据取自 FusionReactor 所有 6 台服务器的 100 万张快照。
我们的服务器在 jvm.config 中为 ColdFusion 使用以下命令行:
java.args=-Xmx2G -server -Xms2g -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/ -Djava.security.policy={application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB -INF/cfusion/lib/coldfusion.policy -Djava.security.auth.policy={application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib/neo_jaas.policy
我不确定更改垃圾收集参数是否是解决方案,我对 GC 尤其是与 ColdFusion 相关的内容一无所知。
我知道这可能与网站上的代码有关。它是一个门户(类似于 fusebox),在其中托管了许多不同的应用程序。门户中 cfobject 调用的用途并不多。
【问题讨论】:
-
您是否使用了大量的 CFHTTP 调用?你可能想看看 - stackoverflow.com/questions/14777292/…
-
@BrianHoover 我们确实使用了很多 CFHTTP 调用。非常感谢您的链接!
标签: java iis-7 coldfusion garbage-collection windows-server-2008