“大”对象保存到文件失败

27日视图(30天)
文森特
文森特 2011年11月22日
编辑: 里卡多。Scorretti 2021年9月23日
你好,
我在做一个项目与OOP。有一个对象称为“数据库”包含一个“大”单元阵列与混合内容(嵌套)。
在这个数据库中,我保存一些文件内容。直到现在,我在这个数据库有2000个文件,该文件可以存储适当的“拯救”和创建一个20 MB的文件。但是当我添加另一个1000个文件,保存过程停止一段时间后,会产生一个基本1 kb .mat-file(无错误或其他)。
我试着“包”命令然后Matlab坠毁。当然如果需要的话我可以把日志。我使用Windows XP SP3, Matlab诉7.5.0 (R2007b)和想保存文件在多个文件系统(脂肪/ ntfs)。
这是一个常见的问题吗?我找不到类似的…
问候

回答(5)

安德里亚Gentilini
安德里亚Gentilini 2012年5月7日
试着去文件- >首选项- >常规- > mat文件- >并单击选项MATLAB Verion 7.3或更高版本。这将允许您保存变量超过2 GB。
1评论
文森特
文森特 2012年5月10日
对不起,安德里亚,但这并没有帮助。只是为了clearification:文件> 20 MB可以存储,只要它们不包含一个对象。

登录置评。


1月
1月 2011年11月22日
如果Matlab crahs内 命令,您有一个严重的问题在内存管理。你使用用户定义的墨西哥人函数吗?
顺便说一句。虽然使用Matlab,您可以创建一个数据库专用数据库项目将做得更好。

文森特
文森特 2011年11月22日
不,我不使用任何用户定义的墨西哥人功能直到现在。我只有两个实例的Matlab程序同时运行,但我无法想象这是一个问题……
,是的,我知道的,SQL等等。我很想但是我周围的人更喜欢使用Matlab,)谢谢你的提示

文森特
文森特 2011年11月24日
你好,我试着更新的Matlab版本上运行同样的事情(2011 b),得到以下错误消息: 内存不足错误在子系统数据的序列化 (或相似的)
这帮助任何人找到解决办法的我怎么拯救我的对象吗?
2的评论
Peter O
Peter O 2011年11月30日
哦,包装不会崩溃,但是给了相同的内存错误

登录置评。


马丁·卡恩
马丁·卡恩 2018年7月1日
嗨,伙计们,
鉴于这个问题还是得到了一些观点,我只是有一个问题听起来非常相似与Matlab和Windows 2018(10):当试图拯救“拯救(‘filename.mat’,‘myFile’)”I just got a 1KB file. I don't really know the details of why but this fixed it: "save('filename.mat','myFile','-v7.3')". I guess this is what Andrea suggested? Sorry if it's not helpful...
1评论
里卡多。Scorretti
里卡多。Scorretti 2021年9月23日
嗨。
不幸的是我正在经历同样的问题(Matlab 2020 b, Linux Fedora F34)。可观测到的照片以后,一旦触发序列化使用内存的数量几乎翻倍:
它看起来就像如果Matlab数据需要保存的临时副本(选项 - v 7.3 当然),在某些情况下这最终内存错误。
在我的例子中,我试图拯救 整个 工作区,其中包含许多巨大的变量。我建议为了解决这个问题分别通过保存每个巨大的变量在不同的文件中,以便降低峰值临时内存使用,这显然需要序列化数据。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!