果糖网

sqlsugar内存占用 返回

SqlSugar
16 139
该叫什么 gxOper 发布于1周前
悬赏:5 飞吻

SQLSUGAR版本:5.0.0.15

Oracle.ManagedDataAccess版本19.3.0

.net版本 4.5.0

这是写的程序,用于批量更新数据,随着运行时间增长,程序占用的内存越来越大,从原来的只有60m,增长到280m.这是堆试图,请大佬看下,这些大对象是否sqlsugar引发的。

image.png

热忱回答16

  • image.png

      public static SqlSugarClient GetInstance()

            {

                DbConnectSqlSugar dbConnect = new DbConnectSqlSugar();

                SqlSugarClient db = dbConnect.InitDataBase();


                return db;

            }

     public SqlSugarClient InitDataBase()

            {

                var db = new SqlSugarClient(new ConnectionConfig()

                {

                    ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DBConn"].ToString(),

                    DbType = DbType.Oracle,//设置数据库类型

                    IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放

                    InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息

                });

                db.Ado.CommandTimeOut = 30000;//设置超时时间

               

                return db;

            }


    0 回复
  • @gxOper:升级到最新版本 

    0 回复
  • 内存会由GC托管,定时会释放, 新版本强制释放了

    0 回复
  • 如果不是特别大由GC处理也没有问题

    0 回复
  • 如何强制释放

    0 回复
  • web站点的情况更加厉害。版本已经升级到5.0.2.8

    0 回复
  • @gxOper:新的版本默认就是强制释放的

    0 回复
  • 新版本自动释放么,web站点已经是升级到5.0.2.8

    0 回复
  • web站点的情况也是很厉害。

    image.png

    0 回复
  • @gxOper:未必是ORM引起的 ,你可以写个WEB API DEMO 测试一下

    0 回复
  • 有问题的话把一个简单的API发我

    0 回复
  • ORALE  DLL也更新看看

    0 回复
  • 认真看一下服务器上的sqlsugar.dll是不是更新了

    0 回复
  • sqlsugar.dll确实已更新到5.0.2.8,web站点的DUMP我也有

    0 回复
  • 应用程序更新到5.0.2.9后,内存占用没有那么快了。目前还在观察中

    0 回复
  • @gxOper:GC理论上会回收的,只有.NET5才会出现贪婪模式不回收 

    0 回复

学习文档