• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

关于javaweb项目中调用matlab接口导致内存占用高

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近在做javaweb项目,需要用到matlab进行数据计算需要,所以用matlab打包的方法进行开发。

 

项目需求:

本项目是需要从本地上传多张图片,然后调用matlab对图片进行处理。

出现问题:

在上传图片处理过程中发现内存占用飙升。

问题浮现:

在未开始上传文件时:

上传完文件之后:其占用内存一直是这个数值不变(等了一段时间)

右键点击该进程,找到详细信息,找到其pid

 使用jconsole连接

 会发现该线程存在垃圾回收,文件上传完毕后内存占用稳定在200多M

手动执行gc:发现其内存占用依然很高。

 

开始处理问题的过程:

1、第一反应是可能我的图片在程序处理过程中一直保留在内存中,没有被垃圾收集器进行回收。所以我对上传的图片进行了处理,让垃圾收集器能够对其回收,但是发现该问题还是没有解决。

2、由于使用了redis,以为是redis连接导致(可能连接没关,或其他问题)。注释掉redis代码之后该问题还是没有解决。

3、由于代码量不多,有的问题都排除了,就只有调用matlab接口了。考虑到调用之后没有及时关闭资源等问题,所以对matlab进行注释。发现内存占用问题消失了。然后在网上找了一下解决方案,在调用了matlab接口之后使用matlab打包类调用其dispose()方法对资源及时释放。

问题:

javaweb调用matlab程序没有释放资源导致。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap