將新版本的Java/Spring Boot軟件部署到在CloudFoundry上運行的Swisscom Developer Cloud後,啓動突然失敗,並出現以下錯誤:OutOfMemoryError: Compressed class space
。因此,我們決定部署該軟件的先前版本,即實際剛剛運行的版本:發生了同樣的錯誤。我們沒有從Java7切換到Java8,我們也沒有改變任何配置。這導致了一個問題:這是真的在我們這邊還是在服務器端出錯?Java/Spring應用程序無法在cloudfoundry上啓動:OutOfMemoryError壓縮類空間
我們又試圖通過設置變量JBP_CONFIG_OPEN_JDK_JRE
以下行之一,以增加MaxMetaspaceSize
:
[jre: {version: 1.8.0_+}, memory_calculator: {memory_sizes: {metaspace: 128m}}]
{memory_calculator: {memory_sizes: {metaspace: 128m}}}
{memory_sizes: {metaspace: 128m}}
總是警告的應用程序,的memory_sizes
值是無效的。這個YAML變量的正確格式是什麼?
[ConfigurationUtils] WARN User config value for 'memory_sizes' is not valid, existing property not present
然後,我們刪除的Java應用程序,並在瑞士電信開發者控制檯數據庫服務並重新創建它。它沒有效果,發生同樣的錯誤。
最後,你知道爲什麼會突然發生這種錯誤,即使這是蠻好的運轉幾分鐘前一個版本?
EDIT:
這是明顯的([database-service-name]
和[application-name]
被替換):
---
path: .
instances: 1
buildpack: https://github.com/cloudfoundry/java-buildpack
services:
- [database-service-name]
applications:
- name: [application-name]
domain: scapp.io
host: [application-name]
memory: 1024M
disk_quota: 1024M
env:
SPRING_PROFILES_ACTIVE: stage, cloudfoundry
Java的buildpack版本是(根據原木):
2017-03-03 11:47:02 [STG/0] OUT -----> Java Buildpack Version: b08a692 | https://github.com/cloudfoundry/java-buildpack#b08a692
這個命令似乎要被執行(在崩潰後的原木):因爲Java buildpack改爲使用內存計算器3.x版本發生
2017-03-03 11:46:25 [APP/PROC/WEB/0] OUT vcap 8 0 99 10:46 ? 00:01:09 /home/vcap/app/.java-buildpack/open_jdk_jre/bin/java -Djava.io.tmpdir=/home/vcap/tmp -XX:OnOutOfMemoryError=/home/vcap/app/.java-buildpack/open_jdk_jre/bin/killjava.sh -XX:MaxDirectMemorySize=10M -XX:MaxMetaspaceSize=68540K -XX:ReservedCodeCacheSize=240M -XX:CompressedClassSpaceSize=8731K -Xmx408104K -Djavax.net.ssl.trustStore=/home/vcap/app/.java-buildpack/container_certificate_trust_store/truststore.jks -Djavax.net.ssl.trustStorePassword=java-buildpack-trust-store-password -cp /home/vcap/app/. org.springframework.boot.loader.WarLauncher
@FyodorGlebov謝謝,我已經更新了相應的問題。 –
您正在使用兩天前發佈的buildpack,請參閱https://github.com/cloudfoundry/java-buildpack/releases。你可以用舊的buildpack來縮小這個問題嗎? 'cf push -b https://github.com/cloudfoundry/java-buildpack.git \#v3.12'我想看看問題是否與新的buildpack有關。 –
你可以請觀看或更新這個GitHub問題嗎?看來你面臨的問題https://github.com/cloudfoundry/java-buildpack/issues/390'cf set-env $ APPNAME JAVA_OPTS'-XX:CompressedClassSpaceSize = 20m'' –