首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于数据库和BCB6联用的系统内存占用过大有关问题(占了1G+而且还不断上涨)

2012-02-02 
关于数据库和BCB6联用的系统内存占用过大问题(占了1G+而且还不断上涨)我做了一个利用BCB6向SQL Server 200

关于数据库和BCB6联用的系统内存占用过大问题(占了1G+而且还不断上涨)
我做了一个利用BCB6向SQL Server 2000实时存数据记录的系统,大概每5秒存一个,但是有三组数据要存到三个表中去,系统现在可以正常运行。

  我对SQL Server 2000做了内存上线的设定,设定为100M,在任务管理器中显示他实际占用了大概120M左右(稳定在这个范围内),另外我为存数据所用到的数据库的属性中,数据文件里分配了1G的空间,文件自动增长设为50%,事务日志设置的也比较大。

  我的BCB6的执行文件在任务管理器中一般占40M-400M之间到,有时候可以释放回十几M。

  在与数据库连接时为了防止空间不足,还做了connection断开再连接的处理.

  我这个系统是延续前人的,原来没有数据库部分,且原系统可能会存在一些内存不释放的问题,但是原系统并没有像现在这样一天就要达到1G以上。

  在windows任务管理器中,观察它所占的总内存一天之后大概会达到1.5G左右,强制关闭BCB执行文件后可以释放800多M的内存,可是BCB在进程中显示的只有40-200多M(最多的时候也就400M,释放的比显示的多很多),而且我发现BCB文件内存长的时候,内存总使用跟着涨,但是BCB释放的时候内存总使用量却不释放,这是怎么回事啊,各位大侠帮帮忙,先谢谢了,要是我哪地方没表述清楚或者需要我说明其他细节,请指明!谢谢

[解决办法]
可以试着删除对象:)
但这招在BDE里不管用。它有专有有语句来进行清空。DBX里也是不管用,网上找找清空连接池吧。应该能找到:)
[解决办法]

探讨
引用:

同感,当初是用Delphi 6+Sql Server 2000 sp4 做的系统也是这样,内存占用量不断增长
解决:

1、如果是服务程序,半夜里定时关闭、重启一次,时间间隔稍微长点;
if(Time="01:00:00")
Application->Terminate();
程序加入到计划任务里,每天06:00:00再启动;
2、sel……

热点排行