我有这行代码:
IObjectList allHolders = allHandlers.EnsureRelatedObjects("Holders");
此时的进程内存使用量约为3 GB,allHandlers
包含约16,000个对象。 Holders
类不是很大,但应该加载大约50000个对象。
我实际上可能耗尽了系统内存,但我想知道MDriven本身的这些部分是否存在任何限制,这可能会引发此异常。
答案 0 :(得分:1)
应该没有严格的内部限制。如果您使用的是64位且未明确设置x86,则只应应用物理限制。
如果我们需要大块 - 在传输过程中可能就是这种情况 - 我们可能会遇到内存不足的异常,因为没有足够空间存在这么大的块 - 即使较小的块中有大量碎片化的可用内存。 / p>
如果这是您所看到的,您可能希望将数据分成2个或更多部分。 您还可以调整我们如何在内部进行大块提取的分块设置: 在IPersistenceService中查看此属性
/// <summary>
/// EnsureRange will use this pagesize when chunking up fetches - default value is 100
/// </summary>
int PageSize { set; get; }