找回密码
 立即注册

QQ登录

只需一步,快速开始

hexllo
金牌服务用户   /  发表于:2021-5-14 10:06  /   查看:7440  /  回复:28
1金币
本帖最后由 Crystal.Li 于 2021-5-14 11:01 编辑

我们32G内存的服务器,在连续运行3天之后,内存被占满了,希望技术团队可以排查下这个版本是哪的问题导致内存没有释放

最佳答案

查看完整内容

目前我们产品提供的内存释放的方法就是这个,今天我们也联系了其它的客户,并没有反馈有内存不释放的问题

28 个回复

倒序浏览
最佳答案
最佳答案
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-5-14 10:06:30
来自 29#
zhaorong 发表于 2021-6-3 00:01
根据提供的建议修改之后,使用UseCustomStore可以正常调用args,Report.Dispose(),但是内存释放效果并不明 ...

目前我们产品提供的内存释放的方法就是这个,今天我们也联系了其它的客户,并没有反馈有内存不释放的问题
回复 使用道具 举报
zhaorong
金牌服务用户   /  发表于:2021-5-14 10:56:27
2#

这个是我们唯一加的代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-5-14 11:01:14
3#
本帖最后由 Crystal.Li 于 2021-5-14 11:06 编辑

您调用LocateDataSource 方法的时候加一行 释放内存的代码,每次加载完做一个内存释放    args.Report.Dispose();//释放内存

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
zhaorong
金牌服务用户   /  发表于:2021-5-14 11:34:00
4#


试了一下,不论是加在62行还是81行(只加一次)的位置,都会抛空指针异常,并且是在Dispose()内部抛出的,因为不论是args还是args.Report对象都不为null.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-5-14 12:12:24
5#
这个问题就是内存被占满,如果我们这边所提供的这个内存释放方法不生效的话,可以搜索尝试下其他的内存释放办法,对args.Report这个对象进行释放,只要能达到内存释放的目的即可。
回复 使用道具 举报
zhaorong
金牌服务用户   /  发表于:2021-5-17 18:21:39
6#
目前试了几个方法都不太奏效,怀疑是不是你们报表内部产生了循环引用,导致内存无法释放。另外args.Report.Dispose()报错的问题还请尽快解决一下。我们报表服务器一个上午就能把内存占满导致无法响应,用户崩溃我们也崩溃。
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-5-18 09:57:27
7#
zhaorong 发表于 2021-5-17 18:21
目前试了几个方法都不太奏效,怀疑是不是你们报表内部产生了循环引用,导致内存无法释放。另外args.Report. ...

好的,我们这边再测试一下这个方法。
回复 使用道具 举报
zhaorong
金牌服务用户   /  发表于:2021-5-19 12:42:14
8#
Crystal.Li 发表于 2021-5-18 09:57
好的,我们这边再测试一下这个方法。

有进展或找到其他可行方案请尽快反馈,如果因为报表问题被经销商投诉,对开发团队影响非常大。
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-5-19 14:36:02
9#
zhaorong 发表于 2021-5-19 12:42
有进展或找到其他可行方案请尽快反馈,如果因为报表问题被经销商投诉,对开发团队影响非常大。

好的,一定。
研发正在调研和复现问题,正在寻找解决方法,如果确认的话会发hotfix版本。
内部Case号:AR-26572
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部