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。

注意: 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM