Java “如何清除或限制groovy”;“备忘录化”;缓存大小?

Java “如何清除或限制groovy”;“备忘录化”;缓存大小?,java,grails,groovy,dynatrace,Java,Grails,Groovy,Dynatrace,我们使用Groovy/Grail、XML和XSLT,并且主要使用Groovy闭包来迭代XmlParser/XmlSlurper(节点API)解析的XML。部署环境-JRE 8,Tomcat 8 但是由于“org.codehaus.groovy.runtime.memoize”软件包,面临着高CPU使用率。此缓存使用的大小几乎为2GB。(我们没有在代码中使用memoize()函数/注释。) 我们在谷歌上找不到任何有助于清除或限制缓存的东西。 有人能帮忙吗谢谢看起来像是一些使用memoize的闭包,

我们使用Groovy/Grail、XML和XSLT,并且主要使用Groovy闭包来迭代XmlParser/XmlSlurper(节点API)解析的XML。部署环境-JRE 8,Tomcat 8

但是由于“org.codehaus.groovy.runtime.memoize”
软件包,面临着高CPU使用率。此缓存使用的大小几乎为2GB。(我们没有在代码中使用memoize()函数/注释。)

我们在谷歌上找不到任何有助于清除或限制缓存的东西。
有人能帮忙吗谢谢

看起来像是一些使用memoize的闭包,我担心,唯一的选择是重新启动JVM谢谢Sudhir,我们现在每周都重新启动VM。有没有办法识别哪个闭包正在使用memoize?任何使用.memoize()的闭包都可以替换为.memoizeAtMost(maxCacheSize),如果需要对其进行定界。但是,您需要首先找到它。其次,如果您看到CPU使用率很高,那么在第一种情况下对重复请求使用memoize可能是一个很好的理由,删除它可能会降低吞吐量……顺便说一句,还可以查找@Memoized注释,它也可以具有maxCacheSize属性。感谢Niels Bech Nielsen,到目前为止,我没有使用memoize()在代码中的任何地方,它看起来都像是使用memoize缓存自动生成一些闭包。。我的挑战是识别这些并添加memoizeAtMost(大小)限制,但我们如何识别这些?看起来有些使用memoize的闭包,我担心,唯一的选择是重新启动JVM感谢Sudhir,我们现在每周都重新启动VM。有没有办法识别哪个闭包正在使用memoize?任何使用.memoize()的闭包都可以替换为.memoizeAtMost(maxCacheSize),如果需要对其进行定界。但是,您需要首先找到它。其次,如果您看到CPU使用率很高,那么在第一种情况下对重复请求使用memoize可能是一个很好的理由,删除它可能会降低吞吐量……顺便说一句,还可以查找@Memoized注释,它也可以具有maxCacheSize属性。感谢Niels Bech Nielsen,到目前为止,我没有使用memoize()在代码中的任何地方,它看起来都像是使用memoize缓存自动生成一些闭包。。我的挑战是识别这些并添加memoizeAtMost(大小)限制,但我们如何识别它们呢?