首页 新闻 搜索 专区 学院

c#内存占用问题

0
悬赏园豆:50 [待解决问题]

我有一个静态队列实例用于接收业务产生的日志,再开了一个后台线程读取队列中的元素使用EFCore写入数据库中
现在发现数据量增大的情况下内存占用持续升高,抓dump文件看了:

看起来是队列中已出队的元素没有被GC回收掉,另外有很多ChangeTracking相关的数据不是很明白,望大佬们指导~

balahoho的主页 balahoho | 老鸟四级 | 园豆:2096
提问于:2020-06-18 17:34

经过各种排查,确认是EF实体跟踪导致实例无法释放的问题,手动设置EntityEntry为Detached状态可以解决。

balahoho 1个月前
< >
分享
所有回答(2)
0

不知道。不过可以提供另一种思路:如果数据量大的话,用Redis等成熟的内存存储系统代替队列

会长 | 园豆:8047 (大侠五级) | 2020-06-18 18:08
0

不知道。不过可以提供另一种思路:如果使用现成的日志比如 NLog, SerilLog, Log4net啥的不香吗?

爱编程的大叔 | 园豆:30638 (高人七级) | 2020-06-19 08:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册