マシン構成は4CPU 16GB RAMで、800MBと300MBのXMLファイルを処理しようとしています。 .NET Saxon APIはスタックトレースの下でメモリ例外をスローすることがあります。前の数時間はperfstatsを見て、サーバーには10GBの空きメモリがあるようです。以下のコードは、Task.Run()を使用して並列タスクで実行されます。助言してください。 800MBの入力ファイルでC#.NET SaxonApiのメモリ不足例外
DocumentBuilder documentBuilder = processor.NewDocumentBuilder();
documentBuilder.IsLineNumbering = true;
documentBuilder.WhitespacePolicy = WhitespacePolicy.PreserveAll;
XdmNode _XdmNode = documentBuilder.Build(xmlDocumentToEvaluate);
System.Exception: Error in ExecuteRules method ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at net.sf.saxon.tree.tiny.TinyTree.condense(Statistics)
at net.sf.saxon.tree.tiny.TinyBuilder.close()
at net.sf.saxon.event.ProxyReceiver.close()
at net.sf.saxon.pull.PullPushCopier.copy()
at net.sf.saxon.event.Sender.sendPullSource(PullSource , Receiver , ParseOptions)
at net.sf.saxon.event.Sender.send(Source source, Receiver receiver, ParseOptions options)
at net.sf.saxon.Configuration.buildDocument(Source source, ParseOptions parseOptions)
at net.sf.saxon.Configuration.buildDocument(Source source)
at Saxon.Api.DocumentBuilder.Build(XmlReader reader)
at Saxon.Api.DocumentBuilder.Build(XmlNode source)
いいえSaxon APIに何か提案がある場合は、まだ調査中です。 –
アプリケーションが64ビットマシン上で32ビットとして実行されている場合、SAXON APIは大きなファイルのメモリ不足例外を引き起こします... –