我正在使用下面的参数覆盖JVM的堆配置-
JBP_CONFIG_OPEN_JDK_JRE: '[memory_calculator: {memory_heuristics: {heap: 65, metaspace: 20}}]'但我看不到这些变化得到了反映。有人能帮帮忙吗?
发布于 2018-08-15 20:58:20
您正在使用的选项仅适用于Java构建包的3.x版。
从Java buildpack4开始,您所需要做的就是使用您的JVM配置选项设置JAVA_OPTS。因此,如果您想覆盖最大堆大小并更改线程堆栈大小,则可以执行cf set-env my-app JAVA_OPTS '-Xmx100m -Xss228k'。
Java构建包将读取这些值,并尝试调整JVM使用的其他内存区域,以便它可以在定义的内存限制内运行应用程序。如果它不能做到这一点,Java构建包将打印一个错误,告诉您这一点。
例如,如果您将内存限制设置为512M,并将最大堆大小设置为500M,那么这将不起作用。将没有足够的内存用于JVM的其他区域,并且JBP将拒绝您的设置。这是一个安全检查,以防止您的应用程序超过内存限制,并在未来的某个时候崩溃。
https://stackoverflow.com/questions/51823914
复制相似问题