内存不释放???

afeideweixiao afeideweixiao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位好!请教个问题,我不断地往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 << e.what();
}
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)
{
cout << e.what();
}



请问是什么原因呢?谢谢。。。。
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
afeideweixiao
Oracle 17,133 成员 55,258 内容