深入理解容器:Cgroups与命名空间
1. Cgroups:资源限制的利器
Cgroups(Control Groups)是Linux内核提供的一种机制,用于限制和隔离不同进程对系统资源(如CPU、内存、磁盘I/O等)的使用。下面我们将详细介绍Cgroups的使用及相关操作。
1.1 手动操作Cgroups
我们可以通过修改Cgroups文件系统中的文件来控制特定资源的使用。例如,将进程ID添加到Cgroups中并限制其内存使用:
root@vagrant:/sys/fs/cgroup/memory/liz$ echo 29903 > cgroup.procs
root@vagrant:/sys/fs/cgroup/memory/liz$ cat cgroup.procs
29903
root@vagrant:/sys/fs/cgroup/memory/liz$ cat /proc/29903/cgroup | grep memory
8:memory:/liz
上述操作将进程ID为29903的进程添加到了名为 liz 的内存Cgroup中。此时,该进程的内存使用被限制在略低于100kB。如果尝试在该进程中运行 ls 命令,会因为超出内存限制而被终止:
$ ls
Killed
1.2 Docker中使用Cgroups
Docker会自动为每种资源类型创建自己
超级会员免费看
订阅专栏 解锁全文
74

被折叠的 条评论
为什么被折叠?



