exception - IObjectList.EnsureRelatedObjects 中的 OutOfMemoryException
问题描述
我有这行代码:
IObjectList allHolders = allHandlers.EnsureRelatedObjects("Holders");
此时的进程内存使用量约为 3 GB,allHandlers
包含约 16000 个对象。Holders
类不是很大,但应该加载大约 50000 个对象。
我实际上可能耗尽了系统内存,但我只想知道 MDriven 本身的这些部分是否有任何限制,这可能会引发此异常。
解决方案
不应有严格的内部限制。如果您使用的是 64 位且未明确设置 x86,则仅应应用物理限制。
如果我们需要大块——在传输过程中可能就是这种情况——我们可能会遇到内存不足异常,因为没有空间容纳这么大的块——即使在较小的块中有大量碎片化的空闲内存。
如果这是您所看到的,您可能希望将数据分成 2 块或更多块。您还可以调整设置,以了解我们如何在内部为更大的提取进行分块:查看 IPersistenceService 中的此属性
/// <summary>
/// EnsureRange will use this pagesize when chunking up fetches - default value is 100
/// </summary>
int PageSize { set; get; }
推荐阅读
- angular - 使用带有 Ionic / Angular 的非 npm 3rd 方库
- laravel - Laravel Eloquent 关系在哪里
- apache-spark - 使用 Pyspark 将数据从 .dat 转换为镶木地板
- xaml - 如何在 Xamarin.Forms 中使用 TableView?
- node.js - firebase deploy 未被识别为内部或外部命令,可运行程序
- facebook - 完整性认证失败,因为 Facebook 认为我的域未经过验证
- javascript - 如何在 vue.js 中给我的列表图标一个 src?
- vbscript - VBA 脚本重命名文件并附加时间戳
- mongodb - 获取特定字段的计数 mongodb
- react-native - 反应原生措施未定义