centos 6,7 上cgroup資源限制使用舉例
阿新 • • 發佈:2019-01-27
在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。