tensorflow+java 内存泄漏修复
前段时间java程序,内存泄漏比较严重,平均3-5天就要重启一下,赶快分析原因。从公司的监控看到,主要是对外内存泄漏,因为堆内存泄漏不是很严重。所以决定优先处理前者。因为该项目是java开发的,主要任务时加载tensorflow1.*的模型,并实时预测。其实主要JNI调用c++接口,所以很大可能是在接口调用时泄漏了,看代码: Tensorres=null; try{ List<String>colname=IntColname; Runnerrlt=sess.runner(); for(inti=0;i<intvalue[0].length;i++){ int[][]index=newint[intvalue.length][1]; for(intm=0;m<intvalue.length;m++){ index[m][0]=intvalue[m][i]; } TensorindexTensor=Tensor.create(index); rlt.feed(colname.get(i),indexTensor); } colname=FloatColname...