开启齿轮尺寸并增加Xmx

时间:2014-12-18 10:48:28

标签: java tomcat7 openshift heap-memory newrelic

背景

在Openshift中,我使用3个小齿轮,每个齿轮512米。该应用程序添加了一个Web负载平衡器。 Web应用程序是使用jbossews-2.0

部署的基于tomcat 7的应用程序

问题1 :我在某处读到了一个网络负载均衡器本身会在一个装备中运行。那么这是否意味着,为了缩放我只剩下一个齿轮?考虑到tomcat实例运行的1个档位,1负载均衡器运行的情况,如果负载增加,则最后一个档位中有3个达到规模?

问题2 :文档说每个装备都有512米。我已经使用我的tomcat 7 app配置了新文件。我看到以下jvm配置集:

-XX:MaxPermSize=102m, -XX:MinHeapFreeRatio=20, -Xms40m, -Xmx256m

现在如果我有512米可用,我认为我可以将最大堆增加到更大的可能-Xmx384m或者可能是完整的512m?

问题3 :如果是,该怎么办?我添加了确实设置参数的动作钩子,但新遗物中的环境设置仍然显示最大堆为227m。在提供的参数列表中,我看到两个参数,一个是我的自定义xmx,另一个默认是

-Xms40m, -Xmx256m, -Xmx384m,

似乎jvm选择了它找到的第一个参数,我不确定为什么它不会被我的自定义arg更新。设置这就是我在预挂钩中所做的事情

export _JAVA_OPTIONS="$_JAVA_OPTIONS -Xmx384m -javaagent:/var/lib/openshift/{###}/app-root/repo/newrelic/newrelic.jar"

也尝试了

export JAVA_OPTS="-Xmx384m $JAVA_OPTS"

请指导我的自定义xmx参数只能读取而不是默认值。

2 个答案:

答案 0 :(得分:0)

问题1:
https://developers.openshift.com/en/overview-platform-features.html#how-scaling-works

复制
  

扩展应用程序中的第一个Web设备已安装HAProxy,但也安装了Web应用程序。一旦您扩展到3档,与HAProxy并置的网络设备将关闭,以便为HAProxy提供更多资源来路由流量。这是您的可扩展应用的diagram。如果您缩小到2档或更小档,则第一档的卷筒纸盒将再次启动。

问题2& 3 您可以增加堆大小,但是,您必须基本上重置所有现有JAVA_OPTS以及新的-Xmx值。因此,下次使用JAVA_OPTS env变量并设置堆大小时,请确保从https://github.com/openshift/origin-server/blob/master/cartridges/openshift-origin-cartridge-jbossas/versions/7/bin/standalone.conf#L136复制其余OPTS。

答案 1 :(得分:0)

我不认为您可以实际更改选项,因为它们是由墨盒/齿轮尺寸组合设置的,并且因为JAVA_OPTS由openshift控制。无论如何,你必须使用JAVA_OPTS_EXT,这仅限于一些额外的参数,如系统属性,垃圾收集器等。