becoll 发表于 2009-5-19 16:43:15

单次存储二进制文件最多能存多大?

请问大家都用二进制格式一次存储过多大的文件?我存到160M左右就存不上去了,提示完成此操作所需内存不足,但我还有1G的空闲内存啊,怎么回事呢?
我存为TDMS格式时存到130多M时也存不上去了,我想存到256M有没有可能呢?

wdyjz 发表于 2009-5-19 18:48:32

为什么不换一个新文件呢?

becoll 发表于 2009-5-19 19:04:58

2# wdyjz
我要实现的就是存储在一个文件中,如果LV在单个文件单次存储时确实有量的限制,那么我先存为多个文件,再将这些文件拼接到一个文件中是否可行呢?谢谢!

wdyjz 发表于 2009-5-19 20:27:51

那你用仿真信号长时间的存储一个测试下,看看能存多少会出错

wdyjz 发表于 2009-5-19 20:30:43

我保存了一次,528M 的tdms,仍然可以!
和你说的160M就保存不进去,可不同哦

foolooo 发表于 2009-5-19 22:06:07

单次读取文件最大为2G,写的话要大于这个,也取决于你的操作系统和系统格式,如果win xp+ntfs的话,4G应该没问题。试试labview自带的tdms格式。
参见 http://digital.ni.com/public.nsf/allkb/07227F8B6D29283B86256CB1008329BC

becoll 发表于 2009-5-19 22:51:34

5# wdyjz
非常感谢版主的帮助!
我想我得做一下补充:
      我的程序是需要预先设置好采集的数据量,并开辟相应大小的内存空间(一个数组),这个数组作为后面读取数据Vi(这个Vi是采集卡附带的驱动)的输入参数。
      当我预设了160M左右采集量,并存储到单个二进制文件时没抱错。重新采集设置更大的数据量(比如170M),错误定位在了如图1所示的关闭文件VI上;改为将170M的数据存到两个文件中就没错了,但继续提高要存储的数据量,比如说190M,错误定位在了初始化数组的函数上(我想不应该开辟不了一个190M大小的数组,我用任务管理器察看时有900M的空闲内存,不应该会内存不足)。
查了一下,“内存已满”或“完成该操作所需内存不足”的错误似乎很普遍,但不知道怎样才能找到真正的原因,可否给些建议呢?谢谢
页: [1]
查看完整版本: 单次存储二进制文件最多能存多大?