完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我观察到我的VEE应用程序使用了太多的内存,特别是在文件读取操作上。如果我在循环中读取文件,就像unix tail程序一样,我的笔记本电脑很快就会运行我们的内存。
VEE应用程序崩溃。即使我发现其他VEE组件(试图跟踪它们)使用内存而不是释放它。 如果我的应用程序运行很长时间,则会发生内存再次满了.VEE正在处理内存如何? 有没有人有任何提示如何避免这种问题?谢谢.Win7 32位和VEE 9.2 以上来自于谷歌翻译 以下为原文 Hi, I am observing that my VEE application utilizes too much memory especially on file reading operation. If I read a file in a loop, like unix tail program does, my laptop runs our of memory very quickly. VEE application crashes. Even I observe that other VEE components(trying to track them down) use a memory and do not free it. If my application runs a long time, it happens that memory is full again. How memory is being handled by VEE? Does anybody have any tips how to avoid such kind of problem? Thanks. Win7 32bits and VEE 9.2 |
|
相关推荐
2个回答
|
|
据我所知,VEE保留了每个对象输出引脚上的所有数据,尤其是错误引脚上的数据。
因此,如果我从文件读取大型数据集,然后通过几个数学对象和其他对象,每个对象将保留竞争数据集。 几年前他们对VRF进行了一次大讨论,我相信他们有一种编程技术,一旦对象传递数据就可以用来转储数据(关于处理错误引脚的事情)。 您可以尝试搜索档案,我会继续查看我的并发布我找到的任何内容。 祝你好运。 以上来自于谷歌翻译 以下为原文 From what I recall, VEE retains all the data at the output pins on each object, especially on the error pins. So if I read a large data set from file, then through several math objects, and other objects, each object would retain the compete data set. Their was a big discussion on the VRF about this a few years ago, I believe they had a programing technique that you could use to dump the data once the object passed the data (something about processing the error pins). You could try searching the archives, I will continue to to look in mine and post anything I find. Good luck. |
|
|
|
发现我正在寻找的一部分!
这个原始话题,“VEE虚拟记忆”,大约在2005年(我发现它在2008年解决了我的记忆问题)在下面,感谢Bill Ossmann。 我还记得另一个与错误输出引脚有关的内存耗尽,但是我找不到那个.Bill Ossmann(2005 vrf):几年前我自己也遇到过类似的问题。 我每条迹线只有大约2k点,但我将数据传递给许多物体来提取测量值。 启用调试功能后,VEE会在每个输入引脚上保存数据副本,因此很快就会耗尽虚拟内存。 我无法关闭调试功能,因为我需要在开发中使用它们。 对我有用的是将数据保存在全局变量中,其名称来自时间戳,例如“x”+ asText(intPart(1000 * now()))。 然后我可以通过提取的测量值传递变量名称,基本上只使用指针。 根据您拥有的数据量以及您必须通过的对象数量,这可能有用也可能没用。 一些观察结果:1。如果您的数据通过多个对象,关闭调试功能可以节省大量内存。 2.如果无法关闭调试功能,使用上述指针或Shawn建议的文件可能有所帮助,或尝试最小化数据通过的对象数量。 正如肖恩指出的那样,你正在处理大量的数据; 只是绘制它会咀嚼虚拟内存的负载,并且可能会很慢。 鉴于3,请认真考虑肖恩建议绘制一个被抽取(稀疏)的点集。 屏幕显示不会显示2M点的水平分辨率。 当然,如果你想确保捕捉到狭窄的尖峰等,这将需要一些智能选择点。 如果您希望能够放大到小部分,那可能会更加繁琐。 以上来自于谷歌翻译 以下为原文 Found part of what I was looking for! This original topic, "VEE Virtual Memory", circa 2005 (I found it in 2008 to solve my memory problem) is below, credit goes to Bill Ossmann. I also remember another memory hog having to do with error output pins, but I could not find that one. Bill Ossmann (2005 vrf): I had a similar problem myself a few years ago. I had only about 2k points per trace, but I was passing the data along through many objects to extract measurements. With debug features turned on, VEE saves a copy of the data on every input pin, so pretty soon I ran out of virtual memory. I could not turn the debug features off because I needed to use them in development. What worked for me was to save the data in global variables with names derived from a time stamp, e.g., "x"+asText(intPart(1000*now())). Then I could just pass the variable name around with the extracted measurements, basically just using a pointer. Depending on how much data you have, and how many objects you have to pass it through, this may or may not be useful. Some observations: 1. Turning debug features off could save lots of memory if your data pass through multiple objects. 2. If you can't turn debug features off, using pointers as described above, or files as Shawn suggested might help, or try to minimize the number of objects the data pass through. 3. As Shawn points out, you are dealing with a gross amount of data; just plotting it will chew up loads of virtual memory, and likely be slow besides. 4. Given 3, give serious thought to Shawn's suggestion to plot a decimated (thinned) set of points. On screen display will not show a horizontal resolution of 2M points. Of course, if you want to be sure to catch narrow spikes, etc. this will take some intelligent selection of points. If you want to be able to zoom in to small sections, that is probably even more tedious. |
|
|
|
只有小组成员才能发言,加入小组>>
1226 浏览 0 评论
2348 浏览 1 评论
2159 浏览 1 评论
2024 浏览 5 评论
2905 浏览 3 评论
970浏览 1评论
关于Keysight x1149 Boundary Scan Analyzer
703浏览 0评论
N5230C用“CALC:MARK:BWID?”获取Bwid,Cent,Q,Loss失败,请问大佬们怎么解决呀
804浏览 0评论
1226浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 17:52 , Processed in 1.390153 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号