Kubernetes豆荚在较大的机器上使用太多内存

我依然用kubernetes在我的脚下。 我们有一个基于spring-boot的应用程序,在AWS上运行Kubernetes 1.4.2上有17个微服务。 当我在4个m3.medium worker的AWS集群上运行这个应用程序时,我的容器都处于200-300MB的内存使用范围内(有一些例外)。 对于生产,我在4位m4工作人员上安装了相同的一组服务,并立即将我的内存移动到相同容器上的700-1000MB的内存中,并具有几乎相同的规格。 我试图找出这里的违规派对–Springboot,Docker或者Kubernetes。

有没有人见过这样的行为?

我知道我可以使用Kubernetes的限制来限制资源,但是我真的不想这样做,因为我知道应用程序在小型机器上可以正常运行,占用的空间也更小。 只是寻求一些build议,问题可能在哪里。

编辑:多一块或相关的信息。 我使用CoreOS稳定版1298.6.0作为主机操作系统映像。

在我看来,问题是你的容器内的进程看到可用的RAM作为可用的RAM。

如果使用更大的实例,JVM将尝试使用更多的RAM。 你应该尝试用-Xmx300m限制你的java虚拟机堆(用你的应用程序需要调整这个值)。 我build议你阅读这篇文章,以简单和干净的方式解释。