内存不释放???

本帖最后由 afeideweixiao 于 2012-04-24 11:49:50 编辑

各位好!请教个问题,我不断地往oracle里插入数据,oracle会出现内存不断飙升,o只到电脑内存不足而挂掉。

系统为WINDOWS 2003,

刚开启时,ORACLE.EXE使用内存为200M左右,任务管理器下的显示内存使用为1020M/3428M;

运行几个小时后,ORACLE.EXE使用内存变为600M,而任务管理器下显示内存使用高达2987M/3428M。

请问是什么原因呢?谢谢了。。。

插入测试代码如下:

int main()

{

Environment * env = Environment::createEnvironment( " ZHS16GBK " , " UTF8 " );

char *szInsert = "某插入语句";

string mc;

{

Connection * conn = env->createConnection( " system " , " system " , " orcl_192.168.0.3 " );

try

{

while (1)

{

Statement * stmt = conn->createStatement(szInsert );

stmt->executeUpdate();

conn->terminateStatement(stmt);

conn->commit();

Sleep(10); //10毫秒

}

}

catch (SQLException e)

{

cout <

}

env -> terminateConnection(conn);

}

Environment::terminateEnvironment(env);

system( " pause " );

return 0 ;

}

最初我以为是createStatement操作造成内存没释放,后来我改为只创建一次,但是还是出现内存不断飙升不释放的问题。

try

{

Statement * stmt = conn->createStatement(szInsert );

while (1)

{

stmt->executeUpdate();

conn->commit();

Sleep(10); //10毫秒

}

conn->terminateStatement(stmt);

}

catch (SQLException e)

{

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐