LabVIEW 中的大数据的操作 合理应对"memory is full"

 官方的解答

在LabVIEW中开发一个大型项目。虽然还有足够可用的RAM空间,偶尔会收到 Memory is Full 错误



解答: 在LabVIEW中处理过于庞大的数组时,通常发生这种错误。LabVIEW默认在连续的内存空间上存储数组。当LabVIEW无法在RAM中开辟一个足够大的连续的内存空间存储你的数组时,报错Memory is Full 。例如,一个2000x2000 双精度数组大约需占据32 MB内存。你至少需要32 MB以上的空闲RAM空间,并且保证它们是连续的,才不至于报错。有多种方法可以解决这一错误:

  • 为你的数组使用一个占用内存空间更小的数据类型。例如,如果你存储的数据范围仅为0到100,可以使用U8代替其他整数类型表示数据,如此占用的内存空间仅为默认数据类型双精度表示的1/8。
  • 如果这一错误产生于图形化显示数据,有一个更为简单的处理方法。对于一个过大的数组,你一次性图形化显示所有数组数据,可能无法看清每一个数据点(受限于屏幕支持的分辨率)。此时,最好在图形化显示数据前,对数据进行抽取处理(例如,每两个数据点仅显示其一)。
  • 更改数据算法压缩数据量,例如使用"chunking"。尽管这会复杂化算法,但是你可以得到更小的数据量。以下链接提供了压缩数据算法的详细说明
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值