1. 程式人生 > >centos 6,7 上cgroup資源限制使用舉例

centos 6,7 上cgroup資源限制使用舉例

在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。