0

在之前的 Jelastic 论坛中,曾讨论过系统没有释放 RAM,最终导致系统崩溃的问题。

我相当肯定我在我的环境中遇到了这个问题(在Jelastic 1.9.2.1上运行),原因如下:

  • 我的应用程序在其他托管环境中稳定,我的应用程序没有内存泄漏
  • 我可以在图表中看到定期授予更多 RAM,RAM 使用量以统一且可预测的步骤增加
  • RAM 永远不会被释放

我渴望使用Jelastic 1.9.3新的 GC Agent 功能http://docs.jelastic.com/release-notes-193#a http://docs.jelastic.com/releasing-ram-gc-agent

我的云提供商表示他们计划升级到 Jelastic 1.9.3,但没有说什么时候。

问题 1:一旦我的云提供商升级,此功能是否会自动用于我现有的环境?

问题2:现在可以给我的1.9.2.1环境打补丁吗?是否只需要下面的 jar,它是否与我的 1.9.2.1 环境兼容?

从文档中,在 variables.conf 中:-javaagent:/var/lib/jelastic/java/jelastic-gc-agent.jar

更新 - 部分解决

  • 升级后,我的环境没有 jelastic-gc-agent.jar。当我将标准配置添加到我的 variables.conf 时,tomcat 启动失败,因为 jelastic-gc-agent.jar 不存在。

  • 我上传了@leo提供的jar,并正确配置了路径,tomcat成功启动,但是没有证据表明代理正在工作,没有日志记录,没有减少内存消耗。绿线(tomcat 统计数据、RAM 图)只是不断上升(在很长一段时间内)。

  • 我已经配置了 jvisualvm。我的一个环境的缩放限制为 12(在 tomcat 组件上)。在 jvisualvm Overview 中观察到以下内容: -XX:+UseSerialGC -Xminf0.1 -Xmaxf0.3 -Xms16M -Xmx1501M -javaagent:/opt/tomcat/lib/jelastic-gc-agent.jar=debug=true,period= 60

  • 来自http://docs.jelastic.com/releasing-ram-gc-agent

    它 [Jelastic GC 代理] 仅适用于两种垃圾收集:

    • -XX:+UseParNewGC (如果 -Xmx < 8000m)
    • -XX:+UseG1GC (如果 -Xmx >= 8000m)
  • 所以我然后尝试了“-XX:+UseParNewGC”,但我得到了一个错误:选项列表中的收集器组合冲突;有关允许的组合,请参阅发行说明 错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序将会退出。

  • 当我创建一个全新的环境并启用代理时,我可以看到它正在工作、记录等。

  • 一些成功:我的一个较大的环境(Scaling Limit 64)已成功修补,我看到代理正在工作。因此,较小的环境肯定存在问题。

4

1 回答 1

0

问题 1:一旦我的云提供商升级,此功能是否会自动用于我现有的环境?

此功能将在升级后自动用于现有环境。

问题2:现在可以给我的1.9.2.1环境打补丁吗?是否只需要下面的 jar,它是否与我的 1.9.2.1 环境兼容?

我不能肯定地说,但你可以尝试自己修补你的环境。

http://www.sendspace.com/file/eo1ia7 (jelastic-gc-agent.jar)

将此文件放在仪表板的/lib文件夹中,并在variables.conf中添加这样的行:

-javaagent:/opt/tomcat/lib/jelastic-gc-agent.jar

如果这对你有帮助,我会很高兴。

于 2014-02-19T15:44:36.620 回答