Axapta 需要控制AOS内存消耗

Axapta 需要控制AOS内存消耗,axapta,dynamics-ax-2012,Axapta,Dynamics Ax 2012,这是我的问题。我正在处理一个产生多个任务的批处理过程。每个任务基本上都是做一些日志发布。这些任务是并行运行的。现在,日记账是一个近10k行的计数日记账。这一过程持续数小时,因为大约有100份日志需要发布。该过程在物理开发设备上运行良好,在同一设备上运行AOS和SQL。但在虚拟服务器上,其行为是不同的。在添加行时,AOS开始消耗所有内存,在某一点上,内存达到100%,AOS抛出内存异常并终止,其他时候进程只是挂起并等待释放内存,这需要很长时间。日记账过账是标准的AX流程,不是定制的。AX环境是20

这是我的问题。我正在处理一个产生多个任务的批处理过程。每个任务基本上都是做一些日志发布。这些任务是并行运行的。现在,日记账是一个近10k行的计数日记账。这一过程持续数小时,因为大约有100份日志需要发布。该过程在物理开发设备上运行良好,在同一设备上运行AOS和SQL。但在虚拟服务器上,其行为是不同的。在添加行时,AOS开始消耗所有内存,在某一点上,内存达到100%,AOS抛出内存异常并终止,其他时候进程只是挂起并等待释放内存,这需要很长时间。日记账过账是标准的AX流程,不是定制的。AX环境是2012 R1,并应用了最新的内核修补程序(KB2962510)。我研究了这个名为MaxMemLoad的属性,它允许您限制AOS在服务器上可以使用的内存,但没有任何帮助

AX环境由集群中的三个AOS组成

如何限制这种疯狂的内存消耗

编辑: 多亏了Matej,我取得了一些进步。SQL Server版本是2008 R2 SP1,我应用了最新的SP3。有趣的是,集群2中的三个AOS中现在有更好的内存图,不到45%。但是第三个仍然有奇怪的内存使用。所有三个AOS都是相同版本的AX,系统配置类似(windows 2008 r2,24 GB RAM,4核)。我还对所有AOS应用了最新的内核修补程序。目前,我正在这个特定的服务器上执行完整的CIL,如果有帮助的话,再次运行批处理。我附加了三个图表,使用performance monitor生成,用于CPU和内存,您可以看到服务器01上的内存非常不稳定,没有及时释放内存,其他两个更稳定。有什么想法吗


您的SQL版本(服务器/客户端)是什么。SQL客户端(KB2422010,KB2881661)中存在已知内存泄漏。你好,Matej,我需要检查SQL版本,我目前没有访问权限。但我遇到的问题是AOS服务在其服务器上消耗了太多内存。SQL server位于另一个框中。你是说SQL内存泄漏可能会导致AOS消耗大量内存吗?是的。SQL客户机的某些版本中存在已知的内存泄漏错误,AOS使用该漏洞访问数据库。检查SQL客户端库版本。谢谢Matej,我尝试了一些更改。请参阅我的编辑。您的SQL版本是什么(服务器/客户端)。SQL客户端(KB2422010,KB2881661)中存在已知内存泄漏。你好,Matej,我需要检查SQL版本,我目前没有访问权限。但我遇到的问题是AOS服务在其服务器上消耗了太多内存。SQL server位于另一个框中。你是说SQL内存泄漏可能会导致AOS消耗大量内存吗?是的。SQL客户机的某些版本中存在已知的内存泄漏错误,AOS使用该漏洞访问数据库。检查SQL客户端库版本。谢谢Matej,我尝试了一些更改。请参阅我的编辑。