ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

云计算_Docker原理-与Linux cgroup

2022-07-07 20:33:08  阅读:195  来源: 互联网

标签:systemd systemctl cgroup Linux 进程 Docker CPU


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

标签:systemd,systemctl,cgroup,Linux,进程,Docker,CPU
来源: https://www.cnblogs.com/ytwang/p/16456006.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有