2014-05-08 49 views
1

我正在舊版本的Orbeon Forms上運行,3.9.0.rc1.201103220245 CE準確無誤。最近我經常看到JVM運行它拋出OutOfMemoryError:Java堆空間錯誤。我分析了堆轉儲,並發現org.orbeon.oxf.cache.MemoryCacheImpl的實例迄今爲止保留的最大大小。我已經研究過,但沒有發現與之相關的任何錯誤報告。我發現的一件事是Orbeon郵件列表上的一則帖子,可能與此有關:http://discuss.orbeon.com/Unusually-large-number-of-blocking-threads-td2338846.html。有誰知道這個問題是否在Orbeon的後續版本中得到解決?爲什麼Orbeon會創建如此龐大的org.orbeon.oxf.cache.MemoryCacheImpl對象?

感謝,

-Michiel

回答

0

無需花費時間顯著分析堆轉儲,這是很難說什麼定論。 Orbeon Forms維護着一些緩存,MemoryCacheImpl就是其中之一,爲了運行高效,它需要大量的內存。

在某些情況下,這可能是「太多」的內存。如果這是一個問題,可能是由於缺陷(內存泄漏),在Orbeon Forms上運行的表單或應用程序的問題,或Orbeon Forms中可以更高效地完成的問題。此時,在「泄漏」類別中沒有公開的已知問題,但可以更有效地完成許多事情。自3.9以來,有很多事情已經得到改善,但仍有工作要做,這是Orbeon Forms roadmap中的一項。因此,我建議您嘗試升級到最新的穩定版本(截至撰寫本文時的4.5版本),看到您仍然看到同樣的問題。如果是,請查看您的應用程序/表單中是否有可能導致此問題的任何內容,查看您是否可以增加堆大小或減少緩存大小。

相關問題