java进程启动内部docker集装箱没有得到提供-Xms堆

我正在尝试在Docker容器中运行Java应用程序,使用-Xms4g和-Xmx4g。 理想情况下,当JVM启动时,应该预先分配4G堆。

但是,当我启动容器,我看到这样的docker统计信息:

CONTAINER CPU % MEM USAGE / LIMIT xyz 73.91% 1.756 GB / 8.203 GB 

我没有申请任何内存限制的容器。 仍然使用的内存来到less于2GB? 我已经用顶级命令validation了这一点。 此外,我正在使用的Java是64位

有没有任何docker运行选项,我可以预先分配内存?

把它作为java进程的一部分来传递。 我想你有这样一行:

 CMD java -jar foo 

只要将它们与CMD命令一起传递即可

 CMD java -jar foo -Xms4g -Xmx4g