c#-C# Winfrom项目,运行程序一段时间后提示“内在不足”的报错信息。

问题描述

C# Winfrom项目,运行程序一段时间后提示“内在不足”的报错信息。

在C# Winfrom项目,有一个form窗体,六个Panel控件(用于放置显示监控视频图像的用户自定义控件),
还有一个timer计时器控件(设置每隔2分钟调用其它六个监控视频图像放到对应的Panel控件)

目前遇到的问题是,监控点的视频图像有的由于网络好点显示加载视频图像快点,有的由于网络不是太好加载显示视频图像慢点。
在form窗体运行一段时间后,导致这个form窗体的六个Panel控件在轮流显示相应的六个监控视频图像后,提示“内在不足”的报错信息。
发现在这个时间段内,电脑CPU的使用率为90%至100%之间。

是不是将timer计时器控件的时间间隔设置多点(例如设置每隔6分钟)或者将运行这个程序电脑的硬件配置再改善下,硬件配置高点。请问这样可以解决此问题吗?
还是有其它的办法解决此问题?最好能提供相关的参考资料。谢谢!

解决方案

监控视频图像的用户自定义控件是否有使用C++ COM等外部库,是否正确释放非托管资源,这些库本身有没有内存泄漏

解决方案二:

长时间运行内存泄漏,得重点关注非托管资源的处理,建议对代码中申请、释放资源的地方进行配对检查,防止由于异常发生后,该释放或者关闭的资源
没有做。由于是实时监控,重点查在timer中申请的资源。看是不是每轮运行完后内存占用都增长。如果经验不足,可以考虑借助工具来排查,BoundsChecker Suite在官网有试用版,可以一用

解决方案三:

timer的使用要小心,如果循环内的处理比较耗时,会出现重入现象;建议可以改为线程

解决方案四:

Timer计时器控件会产生循环内存的,导致内存泄漏,所以会产生内存不足的错误。

时间: 2024-09-08 13:21:48

c#-C# Winfrom项目,运行程序一段时间后提示“内在不足”的报错信息。的相关文章

spark-streaming的程序运行一段时间后退出

问题描述 请问,我的spark-streaming程序以yarn-client的方式运行了一段时间后,就退出了,但driver还在,yarn日志如下:15/09/1914:32:34ERRORutil.Utils:UncaughtexceptioninthreadThread-1org.apache.hadoop.security.token.SecretManager$InvalidToken:InvalidAMRMTokenfromappattempt_1437371132890_10529

java应用程序放了一段时间后,再运行的时候出现了很多原本没有的错误。

问题描述 java应用程序放了一段时间后,再运行的时候出现了很多原本没有的错误. 我的一个Java写的带GUI的应用程序,打包到jar包中.原本可以运行,且没什么太大的问题.放了一段时间(期间没修改过,修改时间还显示最原始的时间),重新运行时,出现了很多本来没有的非常明显的错误(主要是在GUI上的错误).请高手帮忙指出可能哪里出问题了? 解决方案 那里那里那里那里那里那里

程序运行一段时间后,界面不刷新 mfc

问题描述 程序运行一段时间后,界面不刷新 mfc 用vc2008做的程序,在自建的线程里,处理蓝牙虚拟串口通信的接收数据和实时显示! 发现程序跑40分钟左右后,界面变灰!但程序没死,数据通信显示正常.其他控件就没了.移动鼠标可以看到,也可以操作!感觉就是主界面不重绘了!如图: 程序运行时看任务管理器的内存,也不大!应该不是内存泄漏的问题 找不出原因了!网上用PeekMessage的方法试了,还是没用!谁能帮忙给个解答! 这个线程机制以前用串口通信和usb虚拟串口通信都是正常的,没出现过这个问题!

android-Android程序运行一段时间后,程序没有报错,线程会自动会被挂起

问题描述 Android程序运行一段时间后,程序没有报错,线程会自动会被挂起 程序是这么个情况,主界面显示一个图片,另起一个线程去定时刷新这个图片,运行一段时间后,程序自己就会停止,动一下手机,程序能继续运行,网上查的说Android系统自己会挂起线程,跪求解决方案 解决方案 在程序中有没有申请WeakLock,阻止系统进入休眠状态?

C#写从log文件向access自动导入数据的窗口程序,运行一段时间后停止工作,问题事件名称:CLR20r3,求教各位该怎么解决?谢谢

问题描述 各位前辈好:我近日用C#写了个小窗口程序,功能是从log文件向access自动导入数据,并设置间隔一段时间自动运行.但是现在发现,程序起初可以正常实现导入功能,但是运行一段时间后就会停止,问题事件名称:CLR20r3,详细信息如下:问题签名01:readandsyncmonitoringdata.exe问题签名02:1.0.0.0问题签名03:54717fa3问题签名04:System.Data问题签名05:4.0.30319.18408问题签名06:52311175问题签名07:1b

服务器-web项目在执行大量的插入语句时执行一段时间后卡死

问题描述 web项目在执行大量的插入语句时执行一段时间后卡死 SSH框架,在页面有一个poi 批量导入excel的功能,每读取excel一行,保存为一个实体然后循环insert到DB里.刚开始程序运行正常,但是一段时间过后,系统出现卡死,不再执行insert sql ,刷新页面也没有响应,只能重启服务器.期间程序没有报错,myeclipse也不是内存溢出导致的卡死,因为点击其他功能模块时不会出现上述所说的问题,只有在执行大量的insert sql 时才会. 因为代码没有报错我也就不贴代码了. 我

tomcat退出-Tomcat运行一段时间后自动退出

问题描述 Tomcat运行一段时间后自动退出 最近tomcat运行一个项目,运行一两天就自动关闭,也没有报错. 以下是网上查找别人说的原因: 1,并发用户数目过大,也会导致tomcat自动停止服务. 2,系统本身的网络负载平衡没有做好,导致tomcat自动停止服务: 3,程序迭代不合理也是一个原因: 4,数据库连接未关闭,导致资源损耗过重,会引起服务停止: 5,程序严重错误,也会引起tomcat停止服务! 想请问以下,除以上外,还有什么原因会引起tomcat自动关闭.有什么软件可以测试或者模拟异

linux下resin3.025+apache运行jsp过一段时间后内存和cpu占用过大

问题描述 linux下resin3.025+apache运行10-20个jsp网站,过一段时间后内存和cpu占用过大,然后resin就死掉jsp页面就大不开了,重起resin又恢复正常,然后过一段时间又会出现内存和cpu占用过大.请问是什么原因啊?是jsp网站程序还是resin3.025+apache没设置好? 解决方案 解决方案二:应该是程序的问题吧,你用top命令看看那个进程占用的多.解决方案三:这个应该是你上面部署的网站有问题导致的.我不知道有没有什么管理工具可以看每一个网站占的内存.如果

c++指针变量问题,运行一段时间后指针为空?

问题描述 c++指针变量问题,运行一段时间后指针为空? c++指针变量问题,运行一段时间后指针为空.我的变量是直接定义的不涉及new和delete,有没有办法检测变量,看它在哪里被赋值为空的?? 比如 数据改变断点可以吗,这个怎么用? 解决方案 所谓断点就是告诉调试器在何处暂时程序的运行,以便查看程序的状态以及浏览和修改变量的值等,但是在不同的运行环境中断点的类型是不一样的,在vc++6.0中用于c++调试的断点可一分为3个类型,位置断点,数据断点,条件断点. 位置断点是指示程序运行的中断的代码