完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
程序刚打开的时候内存是170M左右,在采集过程中变化不大(1M或2M左右),采集完后从硬盘上把数据调出来处理,处理过程中有好几个波形图表要显示波形(显示的数据总和比一共采集到的多),内存一下就涨到230M左右,后面还有好几个数据处理步骤,运行完后内存达到320M,循环到第一步会清空历史数据,把所有显示控件全部清空,内存只会减少10M至20M,又继续连续运行多次,内存变化又不大了(只有打开程序第一次运行的时候内存变化特别大)
请问各位高手出现这种现象是什么原因,会不会运行八个小时不到就把内存占满了。 我用的是USB9234的采集卡,采集加速度,采样率是22000,采集14s,两个通道同时采集,采集边用tdms文件存到硬盘上, |
|
相关推荐
6个回答
|
|
我也有和楼主同样地问题,我同时采集的是4个数据,要画四个波形图,采用动态事件报警。我的占CPU更加离谱,整个程序才200KB左右,跑起来电脑的非常费力。请各位高手出招啊 ,有没有好点的解决办法
|
|
|
|
如果你的程序没有内存泄漏,就不会长时间运行占内存太大。 内存泄漏与程序刚运行占内存大小无关。 理论上来说,内存大没有关系,只要不泄漏而且系统内存足够大。 如果有内存泄漏,原先占内存再小都有可能在长时间运行后崩溃。 也就是说,你的问题关键在于找出内存有没有泄露,至于你描述的现象(执行某个操作会增加内存),一般来说不是泄漏的来源,它只会在第一次运行时造成内存增加,后面的重复运行是不会再增加的。
内存泄露往往是使用了build array 或者concatenate string, 使得某个数组或字符串随着运行越来越大造成的。 当然还有可能是你调用的DLL甚至LabVIEW本身的函数产生的泄漏。 可以通过搜索build array 或者concatenate string排除一下自己程序的问题。 另外就是自己程序逻辑的问题了,很多情况下是不需要把所有数据都读进来的,可以分段处理,分段处理所需内存就会小很多。 |
|
|
|
|
|
|
|
同样的问题啊
|
|
|
|
不知道怎么查是否有内存泄露问题
|
|
|
|
检查 调用接口有没有关闭 数组有没有清空 移位寄存器数组有没有初始化
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
854 浏览 2 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1252 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1821 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1719 浏览 3 评论
2039 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 08:14 , Processed in 0.525665 second(s), Total 52, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号