保存“大”对象以文件失败
22次观看(最近30天)
显示较旧的评论
你好,
我正在与OOP一起从事一个项目。有一个称为“数据库”的对象,其中包含“大”单元格(嵌套混合内容)。
在此数据库中,我存储了一些文件内容。到目前为止,正如我在此数据库中有大约2000个文件一样,可以使用“保存”正确存储该文件并创建20 MB文件。但是,当我添加另外1000个文件时,保存过程在一段时间后停止,并产生一个基本的1KB .mat-file(无错误或其他任何内容)。
我尝试了“包”命令,但随后Matlab崩溃了。当然,如果需要,我可以在此处发布日志。我正在使用Windows XP SP3,Matlabv。7.5.0(R2007B),并希望将文件保存在多个文件系统(FAT/NTFS)上。
这是一个普遍的问题吗?我在那里找不到类似的东西...
问候
0评论
答案(5)
Andrea Gentilini
2012年5月7日
尝试转到文件 - >首选项 - >常规 - > Mat -Files->然后单击选项MATLAB Verion 7.3或更高版本。这将使您节省超过2 GB的变量。
马丁·卡恩(Martin Kahn)
2018年7月1日
嗨,大家好,
鉴于这个问题仍然有一些视图,我只是遇到了一个听起来很相似的问题(使用Matlab 2018a和Windows 10):尝试使用“ save(filename.mat','myfile','myfile')时,我刚刚得到了一个1KB文件。我真的不知道原因的细节,但这修复了:“ save(filename.mat','myfile',' - v7.3')”。我想这就是安德里亚的建议?抱歉,如果没有帮助...
1条评论
里卡多·斯科雷蒂(Riccardo Scorretti)
2021年9月23日
你好呀。
不幸的是,我经历了同样的问题(MATLAB 2020B,Linux Fedora F34)。正如以后在图片中可以观察到的那样,一旦触发了序列化,二手内存的数量几乎翻了一番:
看起来MATLAB是否制作了必须保存的数据的临时副本(带有选项
-v 7.3
当然),在某些情况下,这最终遇到了不可记忆错误。
就我而言,我试图保存
所有的
工作区,其中包含许多巨大的变量。我建议通过在不同文件中分别保存每个巨大变量来克服问题,以降低峰值临时内存使用量,这显然是序列化数据所需的。