Namespec六项隔离,cgroup四大功能

如果虚拟机内服务对内核版本有要求,这个服务就不太适合用docker来实现
不管什么服务内核版本和宿主机是相同的

六项隔离
Ipc:共享内存,消息列队
Mnt:挂载点,文件系统
Net:网络线
Pid:进程编号
User:用户,组
Uts:主机名,域名
Namespec六项隔离,实现了容器与宿主机,容器与容器之间的隔离。

Cgroup作用
四大功能
1.资源限制:cgroup可以对进程组使用的资源总额进行限制
2.优先级分配:通过分配的cpu时间片数量以及硬盘IO带宽大小,实际上相当于控制了进程运行的优先级别
3.资源统计:cgroup可以统计系统资源使用量,比如cpu使用时间,内存使用量等,用于按量计费。同时还支持挂起工能,也就是说通过cgroup把所有资源限制起来,对资源都不能使用,注意并不是说我们的程序不能使用了,只是不能使用资源,处于等待状态
4.进程控制:可以对进程组执行挂起,回复等操作。

内存限额
容器内存包括两个部分:物理内存和swap
可以通过参数控制容器内存的使用量:
-m或者–memory:设置内存的使用限额
–memory-swap:设置内存+swap的使用限额

磁盘的读写
Docker中可以通过设置权重,限制bps和iops的方式控制容器读写磁盘的IO
Bps:每秒读写得到数据量 byte per second
Iops:每秒IO的次数 io pr second

默认情况下,所有容器都能够平等的读写磁盘,也可以通过–blkio-weight参数改变容器的blockIO的优先级
–device-read-bps:显示读取某个设备的bps
–device-write-bps:显示写入某个设备的bps
–device-read-iops:显示读取某个设备的iops
–device-write-iops:显示写入某个设备的iops

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cgroup(Control Group)是Linux内核中的一个功能,用于对不同进程或进程组进行资源限制和隔离。其中,CFS(Completely Fair Scheduler)是Linux内核中的一种调度算法,用于对多个进程进行公平的CPU时间片分配。 cgroup对CPU隔离的原理是通过CFS调度算法和cgroup分组管理来实现的。首先,用户可以使用cgroup机制将一组相关进程划分到一个或多个cgroup中。然后,通过对cgroup设置不同的CPU资源限制,实现对这些进程的CPU使用量进行控制。 具体实现的原理是,内核通过cgroup结构体来维护cgroup信息,并通过层次结构组织多个cgroup。在每个cgroup中,可以通过设置相应的参数来控制CPU的使用。例如,可以将一组进程划分到一个单独的cgroup中,并设置该cgroup的CPU份额(cpu.shares)来决定其获取CPU时间片的优先级。相对而言,具有更高份额的cgroup会获得更多的CPU时间片,优先进行CPU调度。 另外,cgroup还提供了其他参数,如cpu.cfs_quota_us和cpu.cfs_period_us。使用这两个参数可以限制一个cgroup在一定时间段内获取的CPU时间片数量。并结合cfs.bandwidth来控制CPU的使用。这样可以进一步限制每个cgroup的CPU使用量,保证在物理机的CPU资源有限的情况下,每个cgroup获得公平的CPU时间片分配。 总而言之,cgroup通过使用CFS调度算法和设置cgroup参数,可以实现对CPU的隔离和限制。这样可以确保不同的进程组在使用CPU资源时能够公平竞争,避免某个进程或进程组占用过多的CPU,从而提高整个系统的性能和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值