我在Coldfusion 8的一个实例中运行了BlazeDS。有一个Flex聊天应用程序,既充当生产者又充当使用70个长轮询请求,移动到客户端轮询,并设置轮询间隔为2秒。启用了jRun指标日志记录。服务器设置最大堆大小为1200mb,210个最大jrun线程和150个最大同时Flash远程请求。
所有情况似乎都可以持续数小时,没有太多偏离JRun统计数据。 运行线程,可用线程,Jrun会话,总使用内存MB,可用内存MB
71,101,148,332.864,34.866
然后突然,在几个小时的时间内,内存慢慢增加,有时我最终遇到java.lang.OutOfMemoryError:Java堆空间异常。内存正在被使用但没有释放,我最终得到大约附带度量数据的结果。 运行线程,可用线程,Jrun会话,总使用内存MB,可用内存MB
71,130,195,1015.424,249.94
Coldfusion监视器没有显示任何异常的内存使用情况,也没有抛出任何应用程序异常。
我可以在system.out日志中看到以下错误之一,但不确定它们是否相关。我找不到有关BlazeDS的相关信息。
所有情况似乎都可以持续数小时,没有太多偏离JRun统计数据。 运行线程,可用线程,Jrun会话,总使用内存MB,可用内存MB
71,101,148,332.864,34.866
然后突然,在几个小时的时间内,内存慢慢增加,有时我最终遇到java.lang.OutOfMemoryError:Java堆空间异常。内存正在被使用但没有释放,我最终得到大约附带度量数据的结果。 运行线程,可用线程,Jrun会话,总使用内存MB,可用内存MB
71,130,195,1015.424,249.94
Coldfusion监视器没有显示任何异常的内存使用情况,也没有抛出任何应用程序异常。
我可以在system.out日志中看到以下错误之一,但不确定它们是否相关。我找不到有关BlazeDS的相关信息。
java.lang.IllegalStateException: Session is invalid
at jrun.servlet.session.JRunSession.checkSessionValidity(JRunSession.java:394)
有时候内存使用率很高,但没有出现内存不足的错误,随着活动减少,内存被释放,但可用内存在20秒内从480mb增加到800mb。内存没有逐渐释放。
有人遇到过类似的情况吗?
我的services-config.xml文件
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-millis>2000</polling-interval-millis>
<wait-interval-millis>60000</wait-interval-millis>
<client-wait-interval-millis>1</client-wait-interval-millis>
<max-waiting-poll-requests>70</max-waiting-poll-requests>
</properties>