Foxtable(狐表)用户栏目专家坐堂 → [求助]为何我编写的程序,运行5小时候会说内存耗尽?


  共有1946人关注过本帖树形打印复制链接

主题:[求助]为何我编写的程序,运行5小时候会说内存耗尽?

帅哥哟,离线,有人找我吗?
小美菜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:650 积分:4935 威望:0 精华:0 注册:2016/1/16 22:42:00
[求助]为何我编写的程序,运行5小时候会说内存耗尽?  发帖心情 Post By:2017/6/15 18:56:00 [只看该作者]

为何我编写的程序,运行5小时候后说内存耗尽?我的程序会按时间自动运行一些查询、收集数据等模块,但运行5个多小时候,经常会报告说什么内存溢出。程序运行时,不会弹出窗口,5个多小时后,按关闭按钮居然管不了!通过任务管理器强制关闭程序,会在屏幕上出现小区域闪屏正方形。我想知道这是什么原因!!!

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/15 21:06:00 [只看该作者]

 调出任务管理器,看看该进程的内存是不是一直在增加。如果是,说明你调用内存以后没有把内存释放。

 

 你代码本身有问题,尽量检查那些耗时的操作。逐个测试。


 回到顶部
帅哥哟,离线,有人找我吗?
小美菜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:650 积分:4935 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2017/6/15 21:45:00 [只看该作者]

内存没有增加,不知道明天上班时间是否。耗时的操作肯定多,要不然就不会用数据库了

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/15 21:52:00 [只看该作者]

以下是引用小美菜在2017/6/15 21:45:00的发言:
内存没有增加,不知道明天上班时间是否。耗时的操作肯定多,要不然就不会用数据库了

 

间隔一段时间看看你的内存,看是否持续增加,如果内存不增加,不可能内存耗尽的。

 

你肯定写有代码使用了资源,最后没有释放资源。


 回到顶部
帅哥哟,离线,有人找我吗?
小美菜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:650 积分:4935 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2017/6/16 11:35:00 [只看该作者]

是:System.OutOfMemoryException;内存没有增大

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/16 11:55:00 [只看该作者]

出错时项目占用的内存是多大?如果是1G左右,那就差不多了。

如果是操作同一个表,Foxtable能分配的极限内存应该在950M左右。
可以看一下我这里的分析:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=91737&skin=0

你这种数据采集,建议不要使用主表(甚至窗口表),而是通过临时表直接写数据库。每次操作完毕后调用GC.Collect

建议数据采集和数据使用分开不同的项目应用


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/16 12:25:00 [只看该作者]

以下是引用小美菜在2017/6/16 11:35:00的发言:
是:System.OutOfMemoryException;内存没有增大

 

具体去看,是哪段代码的问题。你代码编写有问题。


 回到顶部