以谚语开头:
[Notes-F1 [107]]错误:发生以下错误消息,发生了错误:“ System.OutOfMemoryException:内存不足,无法继续执行程序。(适用于Microsoft Dynamics 365的SSIS集成工具包,v10.2.0。 6982-DtsDebugHost,v13.0.1601.5)”。
但是即使是它自己的诊断,它也表明有足够的可用内存(是的,这是我系统上的32GB):
错误:系统报告内存负载为47%。物理内存有34270687232字节,可用空间为18094620672字节。有4294836224字节的虚拟内存,其中有981348352字节可用。分页文件有34270687232字节,可用12832284672字节。
信息消息报告内存压力:
信息:缓冲区管理器未能进行506870912字节的内存分配调用,但是无法调出任何缓冲区以减轻内存压力。考虑了2个缓冲区,并锁定了2个。因为没有安装足够的内存,没有其他进程正在使用它,或者锁定了太多缓冲区,所以管道可用的内存不足。
在此示例中,我目前将最大行设置为500 w /缓冲区大小为506,870,912。我已经尝试过最大缓冲区大小,但是那会立即失败,而最小缓冲区大小仍然会引发错误。我摆弄各种大小,但它从来没有接近处理整个数据集的地方。当我将DefaultBufferSize设置得较低时,我得到的错误是:
[Notes-F1 [107]]错误:发生以下错误消息,错误:“ KingswaySoft.IntegrationToolkit.DynamicsCrm.CrmServiceException:CRM服务调用返回错误:无法分配536870912字节的托管内存缓冲区。可用内存量可能不足。(用于Microsoft Dynamics 365的SSIS集成工具包,v10.2.0.6982-DtsDebugHost,
我一直在寻找调整方法的资源,但找不到与具有32GB RAM的64位Window 10机器(相对于服务器)相关的任何东西。
有关更多上下文,我正在使用Kingsway将笔记从一个CRM D365环境迁移到另一个环境。带有附件的注释是引起问题的注释。
属性:
执行
来源
目的地
答案 0 :(得分:0)
我以前遇到过这个问题,它不是物理内存(即RAM),而是存储数据库的物理磁盘空间。检查存储数据库和事务日志文件的驱动器上的可用硬盘驱动器空间是多少-可能已满,因此无法分配任何其他磁盘空间。
在这种情况下,错误消息引用“内存”有点误导。
答案 1 :(得分:0)
对于以后来的人:
错误显示“CRM 服务调用返回错误:无法分配 536870912 字节的托管内存缓冲区”。我知道是 CRM 服务器出现了内存问题。
无论如何,我们在通过 ActivityMimeAttachment 实体迁移电子邮件附件时看到了此错误。该问题似乎与以过大的批量大小和/或多线程运行插入到目标 CRM 相关。
我们将批量大小设置为 1 并关闭多线程,问题就消失了。 (我们还将来自源的请求的批量大小设置为 1 - 当批量大小太高且附件太大时,我们看到了来自内部部署 CRM 的“服务不可用”错误。)