官方的解答
在LabVIEW中开发一个大型项目。虽然还有足够可用的RAM空间,偶尔会收到
Memory is Full
错误
解答: 在LabVIEW中处理过于庞大的数组时,通常发生这种错误。LabVIEW默认在连续的内存空间上存储数组。当LabVIEW无法在RAM中开辟一个足够大的连续的内存空间存储你的数组时,报错Memory is Full
。例如,一个2000x2000 双精度数组大约需占据32 MB内存。你至少需要32 MB以上的空闲RAM空间,并且保证它们是连续的,才不至于报错。有多种方法可以解决这一错误:
- 为你的数组使用一个占用内存空间更小的数据类型。例如,如果你存储的数据范围仅为0到100,可以使用U8代替其他整数类型表示数据,如此占用的内存空间仅为默认数据类型双精度表示的1/8。
- 如果这一错误产生于图形化显示数据,有一个更为简单的处理方法。对于一个过大的数组,你一次性图形化显示所有数组数据,可能无法看清每一个数据点(受限于屏幕支持的分辨率)。此时,最好在图形化显示数据前,对数据进行抽取处理(例如,每两个数据点仅显示其一)。
- 更改数据算法压缩数据量,例如使用"chunking"。尽管这会复杂化算法,但是你可以得到更小的数据量。以下链接提供了压缩数据算法的详细说明