码迷,mamicode.com
首页 > 系统相关 > 详细

Linux的企业-Cgconfig简介和相关限制

时间:2017-10-29 11:17:43      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:cgconfig   简介   相关限制   

一.简介

       Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有cgroups就没有LXC。

       Cgroups最初的目标是为资源管理提供的一个统一的框架,既整合现有 的cpuset等子系统,也为未来开发新的子系统提供接口。现在的cgroups适用于多种应用场景,从单个进程的资源控制,到实现操作系统层次的虚拟化 (OS Level Virtualization)。Cgroups提供了以下功能:

1.限制进程组可以使用的资源数量(Resource limiting )。比如:memory子系统可以为进程组设定一个memory使用上限,一旦进程组使用的内存达到限额再申请内存,就会触发OOM(out of memory)。

2.进程组的优先级控制(Prioritization )。比如:可以使用cpu子系统为某个进程组分配特定cpu share。

3.记录进程组使用的资源数量(Accounting )。比如:可以使用cpuacct子系统记录某个进程组使用的cpu时间

4.进程组隔离(Isolation)。比如:使用ns子系统可以使不同的进程组使用不同的namespace,以达到隔离的目的,不同的进程组有各自的进程、网络、文件系统挂载空间。

5.进程组控制(Control)。比如:使用freezer子系统可以将进程组挂起和恢复。


二.cgconfig安装启动

技术分享


三.内存限制

技术分享


1.添加group x1,内存限制为256M

技术分享

技术分享


2.测试内存限制

注:必须在/dev/shm内存空间下写入

正常情况下没有限制,可以直接写入,cached值为441

技术分享


使用group:x1策略写入只能到395,剩下的写入到交换分区45M

技术分享



添加交换分区内存限制

技术分享

技术分享


写入300M内存直接禁止,交换分区也无法写入

技术分享



四.cpu优先级限制

1.添加group:x2,cpu优先级为100

技术分享


2.测试:第一次正常测试,第二次使用group:x2策略测试

技术分享


可以看出优先级为100的进程1305后面执行



五.IO接口限制

1.添加group:x3,IO接口252设备限制读取的100M

技术分享

技术分享


2.测试前安装iotop检测模块

技术分享


第一次正常读取,读取速度为187M左右

技术分享

技术分享


第二次使用group:v3策略测试,速度为1M左右

技术分享

技术分享




六.cgconfig不同用户的限制

此处使用内存为例

1.配置/etc/cgrules.conf规则文件,cgconfig和刚才配置一样即可

技术分享


cgrules.conf规则文件需要填写用户  限制类型   限制策略,配置完重启服务

技术分享

技术分享


2.测试

创建用户westos,进入到/dev/shm内存写入空间

技术分享

写入300M内存,被限制

技术分享




Linux的企业-Cgconfig简介和相关限制

标签:cgconfig   简介   相关限制   

原文地址:http://anfishr.blog.51cto.com/8534000/1977058

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!