【发布时间】:2014-12-18 10:48:28
【问题描述】:
背景:
在 Openshift 中,我使用 3 个小齿轮,每个小齿轮 512m。该应用程序添加了一个 Web 负载均衡器。 Web 应用程序是一个基于 tomcat 7 的应用程序,使用 jbossews-2.0 部署
问题 1:我在某处读到,Web 负载均衡器本身将运行在一个齿轮中。那么这是否意味着,对于缩放,我只剩下一个装备了吗?考虑 tomcat 实例运行的 1 个齿轮,负载均衡器运行的 1 个齿轮以及负载增加的情况下,3 个齿轮中的最后一个齿轮可以扩展?
问题 2:文档说每个齿轮都有 512m。我已经用我的 tomcat 7 应用程序配置了 New relic。我看到以下 jvm 配置集:
-XX:MaxPermSize=102m, -XX:MinHeapFreeRatio=20, -Xms40m, -Xmx256m
现在,如果我有 512m 可用,我是否认为我可以将最大堆增加到更大一些 -Xmx384m 或完整的 512m ?
问题 3:如果是,该怎么做?我添加了确实设置参数的操作挂钩,但新遗物中的环境设置仍将最大堆显示为 227m。在提供的参数列表中,我看到两个参数,一个是我的自定义 xml,一个是默认提供的
-Xms40m, -Xmx256m, -Xmx384m,
似乎 jvm 选择了它找到的第一个参数,我不确定为什么它没有被我的自定义 arg 更新。设置这是我在 pre hook 中所做的
export _JAVA_OPTIONS="$_JAVA_OPTIONS -Xmx384m -javaagent:/var/lib/openshift/{###}/app-root/repo/newrelic/newrelic.jar"
也试过
export JAVA_OPTS="-Xmx384m $JAVA_OPTS"
请指导,以便我的自定义 xml 参数只被读取而不是默认值。
【问题讨论】:
标签: java tomcat7 openshift heap-memory newrelic