我从撒克逊变压器版本9升级到11.3。我的应用程序面临内存泄漏问题。
发布于 2022-11-18 09:46:36
正如Martin所说,这种问题比这里更适合萨克索尼卡支持论坛。原因是它可能涉及一个反复的调查过程,这不符合StackOverflow的问答格式(如果我没有立即得到答案,可能有人会将我的回答标记为“不是答案”)。
当应用于Java时,“内存泄漏”这个术语是相当不准确的。内存泄漏是指不再引用的对象没有释放它们的内存,但这里的问题是(几乎可以肯定),当您不希望对象被引用时,对象仍然被引用。
要研究这个问题,您需要获得一个堆转储,并找出问题所在。很明显,有数以百万计的特定类对象不应该存在。堆转储分析器将使您能够找到引用这些对象的位置,这将解释为什么它们不是垃圾收集的。
您可以通过获取堆转储并将其发送到Saxonica (如果不能自己分析),或者创建失败应用程序的复制并发送。我猜想,考虑到这是一个相当复杂的应用程序,第一种方法对您来说会更容易。
我们试图在我们准备提供的支持水平上划出一些界限。其中一个边界是,我们不会尝试运行具有复杂依赖关系的repro,例如,需要安装第三方产品。包括春天。
注意:不同的人采用不同的策略来解决问题,但就我个人而言,当我看到这样的东西在X版中起作用,而在Y版中不起作用时,我通常会从第一性原则来研究Y版下的情况,而不是探讨已经改变了什么。但是也有例外,例如,我们知道Saxon 11使用了一种全新的方法来解析目录bsed URI,这有时会给出值得查找的线索。所以:X版本可能并不重要,但您应该知道,"Saxon 9“描述了一系列的主要版本,从2008年的9.0版到2020年的9.9版,因此它对基线的定义并不十分有用。
https://stackoverflow.com/questions/74483273
复制相似问题