之前几篇文章讲述了Linux的Cgroups技术,《Linux-Cgroups的资源控制》,主要是通过Cgroups实现了对进程的资源限制,那么在Docker中是如何运用Cgroups的呢?我们知道Docker是通过Cgroups去做的容器的资源限制和监控,我们下面就以一个实际的容器实例来看下Docker是如何配置Cgroups的:docker run -m 设置内存限制
![mark](https://img.zouchanglin.cn///20200222/U7v1jf2JBKla.png)
可以看到Docker通过为每个容器创建Cgroup并通过Cgroup去配置的资源限制和资源监控。
现在通过Go语言来实现一个可以限制资源的容器,配合之前的Namespace使用嘛
![mark](https://img.zouchanglin.cn///20200222/cTNyEw0rgQwO.png)
通过对Cgroups虚拟文件系统的配置,我们让容器中的把stress进程的内存占用限制到了100m
。
![mark](https://img.zouchanglin.cn///20200222/6uIOzaNy3zVK.png)
- 本文作者: Tim
- 本文链接: https://zouchanglin.cn/2020/02/22/4017713389.html
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 许可协议。转载请注明出处!