我正在使用Ubuntu14.04和docker1.10.3。
当我用docker run
执行--memory-swap -1
时,我发现主机使用的内存超出了容器可以使用的最大内存,并且主机上没有其他进程占用大量内存。下面的图像是我在计算机上进行的测试:
第1部分是主机上的内存使用情况
第二部分是在容器中运行的测试,用于使用stress在容器中使用900M内存进行模拟。
第3部分使用docker stats
查看容器的当前统计信息。
我发现尽管docker stats
显示容器使用的内存不超过104.9M,但在主机上使用的内存远远超过104.9M。似乎--memory-swap -1
允许容器尽可能多地使用内存。
是真的吗?
答案 0 :(得分:7)
是的,你是对的。
你可以在docker references找到更多(尽管这个问题没有在那里清楚地阐明)。
--memory-swap="" Total memory limit (memory + swap, format: <number>[<unit>]). Number is a positive integer. Unit can be one of b, k, m, or g.
--memory-swap -1 ...disabled swap memory limit, this means the processes in the container can use as much swap memory as they need (if the host supports swap memory).
如果您想禁用容器的交换使用,可以使用
--memory-swap=0