云计算_Docker原理-与Linux cgroup
2022/7/8 5:20:22
本文主要是介绍云计算_Docker原理-与Linux cgroup,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
control groups
Linux Container LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源, 而且不需要提供指令解释机制以及全虚拟化的其他复杂性 LXC在资源管理方面依赖于Linux内核的cgroups子系统 1.cgroup全称是control groups cgroups是linux内核中的机制,这种机制可以根据特定的行为把一系列的任务, 子任务整合或者分离,按照资源划分的等级的不同,从而实现资源统一控制的框架, cgroup可以控制、限制、隔离进程所需要的物理资源, 包括cpu、内存、IO,为容器虚拟化提供了最基本的保证, 是构建docker一系列虚拟化的管理工具 task cgroup subsystem hierarchy 对进程进行分组 并在分组的基础上对进程进行监控和资源控制管理等 2. 01.cat /proc/cgroups 通过查看/proc/[pid]/cgroup eg: cat /proc/777/cgroup (since Linux 2.6.24)知道指定进程属于哪些cgroup 02.cgroup相关的所有操作都是基于内核中的cgroup virtual filesystem /sys/fs/cgroup/ 绑定进程到指定cpu核数 限制进程cpu使用率 限制内存使用量 限制磁盘读取速度 03.Linux支持下面12种subsystem cpuset 绑定cgroup到指定CPUs和NUMA节点 cpu 用来限制cgroup的CPU使用率。 cpuacct 统计cgroup的CPU的使用率。 memory 统计和限制cgroup的内存的使用率,包括process memory, kernel memory, 和swap。 blkio 限制cgroup访问块设备的IO速度 devices 限制cgroup创建(mknod)和访问设备的权限。 freezer suspend和restore一个cgroup中的所有进程。 net_prio 针对每个网络接口设置cgroup的访问优先级。 net_cls 将一个cgroup中进程创建的所有网络包加上一个classid标记,用于tc和iptables。 只对发出去的网络包生效,对收到的网络包不起作用。 net_prio 针对每个网络接口设置cgroup的访问优先级。 perf_event 对cgroup进行性能监控 hugetlb 限制cgroup的huge pages的使用量。 pids 限制一个cgroup及其子孙cgroup中的总进程数。
systemd
CentOS 7 中默认的资源隔离是通过 systemd 进行资源控制的,systemd 内部使用 cgroups 对其下的单元进行资源管理, 包括 CPU、BlcokIO 以及 MEM,通过 cgroup 可以 。 systemd使用了cgroup与fanotify等组 systemd 的资源管理主要基于三个单元 service、scope 以及 slice ###systemctl 是一个systemd工具,主要负责控制systemd系统和服务管理器 systemctl show toptest ##获取当前某个服务的CPU分配额 systemctl show -p CPUShares docker.service ##列出当前使用的运行等级 systemctl get-default #### systemd-cgls systemd-cgls的作用是递归地显示指定 CGroup 的继承链 systemd-analyze ### 按CPU、内存、输入和输出列出控制组 systemd-cgtop
检测相关虚拟化信息:
sudo dmidecode -s system-manufacturer systemctl show -p CPUShares
这篇关于云计算_Docker原理-与Linux cgroup的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程