0
documentationによると、deployer.time.memory
プロパティを持つアプリケーションの-Xmx
を設定できるはずです。Kubernetesで動作するSpring CDFアプリケーション用に-Xmxを設定するには?
私は、次のストリーム定義作成:
dataflow:>stream create --name ticktock --definition "time | log"
をそして、私はいくつかの方法で私のKubernetes CDF上でそれを展開しようとしました:
dataflow:>stream deploy --name ticktock --properties "deployer.time.memory=2048m"
dataflow:>stream deploy --name ticktock --properties "deployer.time.local.memory=2048m"
dataflow:>stream deploy --name ticktock --properties "deployer.time.local.javaOpts=2048m"
それぞれ展開した後、私は次のコマンドを実行してきました:
# ps aux | grep time | grep -i xmx
#
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52a31b764112 springcloudstream/time-source-rabbit:1.2.0.RELEASE "java -jar /maven/tim" 7 minutes ago Up 7 minutes k8s_ticktock-time.a4ab30e_ticktock-time-kqckg_default_53b3e059-5049-11e7-a0d4-000c29df937a_3cc76216
なぜ-Xmx
がに設定されていないのですかアプリ?
私は最初はそう思っていましたが、その中に-Xmxを設定する章は見つかりませんでした。それはそれを設定することができないことを意味しますか? – aturkovic
アプリのプロパティを渡すためのオプションがいくつかあります。これは 'spring.cloud.deployer.kubernetes.entryPointStyle'によって制御され、' exec'、 'shell'、または' boot'をデフォルトとして 'exec'のオプションとして受け取ります。これがグローバルなデプロイヤー・プロパティーに設定されている場合は、 'deployer.time.memory'が考慮されなければなりません。また、すべてのアプリケーションのメモリをオーバーライドしようとする場合は、 'spring.cloud.deployer.kubernetes.memory'をグローバルプロパティとして使用することもできます。 –
すべてのアプリケーションでkubernetesのメモリ制限を2 GiBに設定しました。私はドッカーのJavaが本当にうまく動作しないので、アプリからアプリに-Xmxを設定したいと思います。だから私はそれをグローバルに設定したくありません。 'spring.cloud.deployer.kubernetes.entryPointStyle'はデフォルトですが、私の質問から' deployer.time.memory'を渡したが、javaプロセスに渡された-Xmxはないことがわかります。 – aturkovic