Docker统计信息,内存使用情况,OSX和Ubuntu之间的巨大差异,为什么?

时间:2018-03-31 21:10:08

标签: docker docker-compose docker-swarm

我有一个在alipine docker容器中运行的C程序。 OSX和ubuntu上的图像大小都是10M。

在OSX上,当我运行此图像时,使用' docker stats'我看到它使用1M RAM,因此在docker compose文件中我在我的swarm中分配了最多5M。

然而,在Ubuntu 16.04.4 LTS上,图像也是10M,但在运行时它使用大约9M RAM,我必须增加我的撰写文件中的最大分配内存。

为什么OSX和Ubuntu之间的RAM使用有这么大差异?

即使我们有不同的操作系统,我也会想到,一旦你在框架内运行,那么你在不同的机器上表现得相似。所以我原以为应该有类似的内存使用量。

更新

感谢您的评论。所以'统计'可能是不准确的,并且在linux上有最佳的基线差异。顺便说一句,但我认为有趣的是,提出这个问题的原因是要了解“引擎盖下”的问题。为了调整我的大量已部署程序的设置。最初,当我测试时,我尝试在ubuntu上分配最小量的最大RAM,这导致很多磁盘颠覆了我在Macbook上看不到的东西,(没有硬盘!)。

有些数字完全是我的设置,但我觉得很有意思。

1000个docker容器,每个1个C程序,每个容器20M RAM MAX,服务器负载98,服务器总共运行4K进程,[总共1000个程序]

20个docker容器,每个100个C程序,每个容器200M RAM MAX,服务器负载5到50,服务器总共运行2.3K进程,[2000 C程序总计]。

这一切都为您的docker镜像提供了大量的MAX RAM,让您的服务器运行更少的Docker容器更好。

0 个答案:

没有答案