我正在尝试一些堆大小管理建议,但这是一个缓慢的过程... 我想发布一些代码,希望有人能提出建议...
我正在对场景进行数据分析-分析有点复杂,但不是很严重。 然而,当我尝试运行一个场景对1000个不同的数据集进行分析时...我的服务器崩溃了。
我有100000个数据集的样本大小-需要对这个集合运行场景- 我发现我可以循环10-20个设置,然后系统就会自我消耗...... JVM内存爬升到最大。
我必须清除组件缓存并从服务器监视器运行GC以使内存使用量降低,但当我再次运行循环时-它很快就失控了。
<cfscript>
x = 20;
obj = createObject( 'component', 'b' );
d = obj.insertData( FORM.DATA );
s = obj.insertScenario( FORM.SCENARIO );
Xscenarios = obj.getXscenarios( s, d, x );
// analyze x
for( i=1; i <=arrayLen( Xscenarios ); i++ ) {
a = obj.analyze( Xscenarios[i], s );
}
</cfscript>
每个分析需要约3秒钟时间....
有什么建议吗?
我如何在每个循环后强制执行GC?我需要这样做吗?应该吗?
analyze()
函数的一些代码? - James A Mohler