Cgroup
Cgroup 即 Control Group,是一种 Linux 内核机制,它允许对进程进行资源控制和管理。Cgroup 可以限制进程的 CPU 使用率、内存使用量、磁盘 I/O 等资源。
Cgroup 主要作用:
- 资源控制: 可以限制进程的资源使用量,防止单个进程占用过多资源导致系统资源枯竭
- 资源隔离: 可以将不同类型的进程隔离到不同的 cgroup 中,以便更好地管理资源
- 资源统计: 可以收集 cgroup 中进程的资源使用情况统计数据,用于分析和优化资源分配
Netns
Netns 即 Network Namespace,是一种 Linux 内核机制,它允许在不同的进程之间隔离网络资源。这意味着每个 Network Namespace 都有自己的独立网络配置,例如 IP 地址、端口号和路由表。
Netns 主要作用:
- 隔离不同用户的网络连接
- 隔离不同应用程序的网络连接
- 创建虚拟网络
Mountns
Mountns 即 Mount namespace,是一种 Linux 内核机制,它允许在不同的进程之间隔离挂载点。这意味着每个 mount namespace 都有自己的独立挂载视图,即使它们位于同一个物理主机上。
Mountns 主要作用:
- 隔离不同用户的挂载点
- 隔离不同应用程序的挂载点
- 创建沙箱环境
总结
Cgroup、Netns、Mountns 都是 Linux 内核机制,用于处理不同类型资源的隔离。
- Cgroup 可以限制进程的 CPU/内存/磁盘IO
- Netns 可以隔离进程的网络连接
- Mountns 可以隔离进程的挂载点