1

我正在使用 Cloud Foundry 和 tcServer 来部署我的 Java 应用程序,但我遇到了内存不足的问题,因为我似乎无法让任何 Java 堆设置生效。有没有人有使用 Cloud Foundry 界面更改 Java 堆设置的经验?

我正在使用一个大型 EC2 实例(64 位),我尝试了以下方法:

  • 在 Application 定义的 JVM OPtions 中输入 -Xmx3g
  • 在Deployment定义的JVM Options中输入-Xmx3g
  • 尝试在实例上的 tcServer 的 setenv.sh 脚本中覆盖
  • 尝试覆盖实例上 tcServer 的 wrapper.conf 设置

我没有尝试影响从 cloudfoundry 控制台报告的 1gb 的最大堆大小。即使设置为较低的值也没有效果。我可以确认盒子上的 JVM 是 64 位版本。

可以预见的是,随着我的服务用户数量的增加,系统会出现内存不足的情况。

有没有人有任何类似的经验让 CloudFoundry 接受 JVM 选项,或者不知道如何使 tcServer(据我所知,它是由 Cloud Foundry 安装的,没有任何 AMS 工具,如 tcsdamin)在重新启动时采用一些新值?

谢谢!

4

1 回答 1

2

好的 - 万一有人也偶然发现了这个,这是我的解决方案:

  1. 忘记它在 Cloud Foundry 界面中所说的内容,因为它没有效果
  2. 忘记把东西放在 setenv.sh 中,因为它没有效果
  3. 忽略 wrapper.conf 除非您在 Windows 上
  4. 去编辑 /etc/init.d/tcserver 并更改 SpringSource 提供的硬编码 -Xmx1G
于 2010-09-19T18:48:42.493 回答