在Centos6,7使用cgroup做内存限制,使用的配置包是libcgroup,具体方案和操作步骤如下。

步骤1:安装配置管理包

Centos 6:

  # yum install libcgroup

Centos 7:

  # yum install libcgroup libcgroup-tools

步骤2:添加控制组

创建文件 /etc/cgconfig.d/cgroup.orange.conf,限制orange用户物理内存只使用200M,并禁用orange用户使用swap。

文件内容如下:

group orange_limitmem{
memory {
memory.limit_in_bytes=200m;
memory.memsw.limit_in_bytes=200m;
}
}

cgred服务将根据这条规则,匹配happy用户的进程。

步骤3:添加规则

在文件/etc/cgrules.conf中添加对happy用户的规则,关联步骤2的控制组:

# echo "orange memory orange_limitmem/">> /etc/cgrules.conf

步骤4:重启配置服务使之生效

Centos 6:

# service cgconfig restart
# service cgred restart

Centos 7:

# systemctl restart cgconfig.service
# systemctl restart cgred.service

其中,cgconfig服务负责资源控制组挂载;

cgred服务负责识别进程,并将进程添加到指定资源控制组。

步骤5:测试

使用orange用户,编写消耗内存脚本,观察脚本执行情况。

#!/bin/bash
x='a'
while [ True ];do
x=$x$x
done;

可以看到,进程被Kill。

注意:

centos7建议使用systemd进行资源限制。

原因可参考:

https://blog.csdn.net/lanyang123456/article/details/82319731

关于如何使用systemd进程资源限制,可以参考:

https://blog.csdn.net/lanyang123456/article/details/81610779

https://blog.csdn.net/lanyang123456/article/details/82318978

centos 6,7 上cgroup资源限制使用举例的更多相关文章

  1. CentOS 6.9上安装Mysql 5.7.18 安装

    CentOS 6.9上安装Mysql 5.7.18 安装 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-g ...

  2. 在CentOS或RHEL上安装Nux Dextop仓库

    介绍 Nux Dextop是类似CentOS.RHEL.ScientificLinux的第三方RPM仓库(比如:Ardour,Shutter等等).目前,Nux Dextop对CentOS/RHEL ...

  3. Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境

    原文地址:http://www.linuxidc.com/Linux/2014-11/109200.htm 图文详解Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的H ...

  4. Github上PHP资源汇总大全,php学习的好资料

    Github上PHP资源汇总大全,php学习的好资料 国外程序员ziadoz 在Github上收集整理了PHP的各种资源,内容包括模板.框架.数据库.安全等方面的库和工具.汇总了各种PHP资源,供各位 ...

  5. Java 网络编程(三) 创建和使用URL访问网络上的资源

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951877.html 创建和使用URL访问网络上的资源 URL(Uniform Reso ...

  6. CentOS 6.5上安装MySQL-Cluster

    参考博文: CentOS 6.2下MySQL Cluster 7.2 配置数据库集群 CentOS 6.5上安装MySQL-Cluster 7.3.4过程笔记--下一步学习 MySQL Cluster ...

  7. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  8. CentOS 6.9上安装mysql-5.6.36

    CentOS 6.9上安装mysql-5.6.36 1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/data,而后需要创建/da ...

  9. 【good】在CentOS 6.x上安装GlusterFS

    转发:http://quenywell.com/install-glusterfs-on-centos-6-x/ 本文主要介绍如何在CentOS 6.x上快速安装GlusterFS.GlusterFS ...

随机推荐

  1. Oracle create tablespace 、create user and so on

    1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_ ...

  2. Java Sublime 环境配置

    1.编辑JavaC.sublime-build文件 用winrar 打开 Sublime的安装目录下的Packages文件夹下的Java.sublime-package文件, 双击JavaC.subl ...

  3. Bug02_MyBatis_org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    我出现问题的原因是: 映射xml文件名写错了. 查资料,可以有以下解决办法 按以下步骤一一执行: 1:检查xml文件所在的package名称是否和interface对应的package名称一一对应 2 ...

  4. sql,取得当前系统时间,算时间区间

    mysql: SELECT * from (SELECT H_TEMPERATURE FROM WENSHIDU  WHERE TH_TIME >=date_sub(NOW(), interva ...

  5. c++ 编译报错汇总(随时更新)

    1.invalid new-expression of abstract class type ‘×××ב 这个报错代表一个尝试在实例化一个抽象类,也就是说父类的接口中有纯虚函数在子类中没有实现: ...

  6. dubbo 框架文档地址

    http://dubbo.apache.org/books/dubbo-dev-book/ http://dubbo.apache.org/books/dubbo-admin-book/ http:/ ...

  7. [转]SSH反向连接及Autossh

    http://www.cnblogs.com/eshizhan/archive/2012/07/16/2592902.html SSH反向连接及Autossh 0.接触Linux恐怕对SSH再熟悉不过 ...

  8. 基于CART的回归和分类任务

    CART 是 classification and regression tree 的缩写,即分类与回归树. 博主之前学习的时候有用过决策树来做预测的小例子:机器学习之决策树预测--泰坦尼克号乘客数据 ...

  9. Kaggle:House Prices: Advanced Regression Techniques 数据预处理

    本博客是博主在学习了两篇关于 "House Prices: Advanced Regression Techniques" 的教程 (House Prices EDA 和 Comp ...

  10. CodeMirror tab转空格

    解决CodeMirror编辑器Tab转空格问题 editor.setOption("extraKeys", { Tab: newTab }); function newTab(cm ...