Play WebApp不会释放(未使用)堆空间。如何用GC协助JVM?

时间:2015-06-29 15:13:25

标签: memory playframework garbage-collection jvm playframework-2.3

我有一个Play Framework WebApp,需要很多一些hundret MB内存用于某些请求。

这些内存密集型操作不会经常发生(例如一天一次或两次),但不能移动到cronjob(或类似的东西),因为用户发出请求并希望立即回答。 / p>

这一切看起来都很好,除了这个:我希望我的WebApp偶尔释放一些内存/堆空间,但是对于一些读取堆空间不断增长和增长。

我提供了以下两个内存限制参数:

xcode-select --install

我的堆使用情况如下: Heap

堆大小增长到1.6 gb (这是WebApp使用的最大内存量),即使“Used heap”回落到大约150-200 mb,它也不会被释放,在GC完成其工作之后,这似乎是“闲置水平”。

VisualVM提供“Process GC”按钮以手动启动垃圾收集。如果我这样做,堆空间被释放:

Heap with manual GC

我应该选择另一个GC策略或“帮助”JVM以某种方式理解它需要执行GC吗?有没有办法实现自动化?

0 个答案:

没有答案