以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]为何我编写的程序,运行5小时候会说内存耗尽? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102239) |
-- 作者:小美菜 -- 发布时间:2017/6/15 18:56:00 -- [求助]为何我编写的程序,运行5小时候会说内存耗尽? 为何我编写的程序,运行5小时候后说内存耗尽?我的程序会按时间自动运行一些查询、收集数据等模块,但运行5个多小时候,经常会报告说什么内存溢出。程序运行时,不会弹出窗口,5个多小时后,按关闭按钮居然管不了!通过任务管理器强制关闭程序,会在屏幕上出现小区域闪屏正方形。我想知道这是什么原因!!! |
-- 作者:有点色 -- 发布时间:2017/6/15 21:06:00 -- 调出任务管理器,看看该进程的内存是不是一直在增加。如果是,说明你调用内存以后没有把内存释放。
你代码本身有问题,尽量检查那些耗时的操作。逐个测试。 |
-- 作者:小美菜 -- 发布时间:2017/6/15 21:45:00 -- 内存没有增加,不知道明天上班时间是否。耗时的操作肯定多,要不然就不会用数据库了 |
-- 作者:有点色 -- 发布时间:2017/6/15 21:52:00 -- 以下是引用小美菜在2017/6/15 21:45:00的发言:
内存没有增加,不知道明天上班时间是否。耗时的操作肯定多,要不然就不会用数据库了
间隔一段时间看看你的内存,看是否持续增加,如果内存不增加,不可能内存耗尽的。
你肯定写有代码使用了资源,最后没有释放资源。 |
-- 作者:小美菜 -- 发布时间:2017/6/16 11:35:00 -- 是:System.OutOfMemoryException;内存没有增大 |
-- 作者:有点蓝 -- 发布时间:2017/6/16 11:55:00 -- 出错时项目占用的内存是多大?如果是1G左右,那就差不多了。 可以看一下我这里的分析:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=91737&skin=0
你这种数据采集,建议不要使用主表(甚至窗口表),而是通过临时表直接写数据库。每次操作完毕后调用GC.Collect 建议数据采集和数据使用分开不同的项目应用 |
-- 作者:有点色 -- 发布时间:2017/6/16 12:25:00 -- 以下是引用小美菜在2017/6/16 11:35:00的发言:
是:System.OutOfMemoryException;内存没有增大
具体去看,是哪段代码的问题。你代码编写有问题。 |