在CentOS系統中,可以使用cgroups(control groups)來限制進程的資源使用。cgroups是Linux內核的一個功能,它允許你對一組進程的資源使用進行限制、監控和分配。以下是使用cgroups限制進程資源使用的基本步驟:
首先,確保你已經安裝了cgroup-tools包。如果沒有,請運行以下命令來安裝:
sudo yum install cgroup-tools
使用cgcreate命令創建一個新的cgroup。例如,創建一個名為my_cgroup的cgroup:
sudo cgcreate -g memory,cpu:/my_cgroup
這將創建一個名為my_cgroup的新cgroup,并限制其資源使用。
接下來,為剛剛創建的cgroup設置資源限制。例如,限制內存使用為100MB,限制CPU使用為50%:
echo 100M | sudo tee /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes
echo 50000 | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_quota_us
這將分別設置my_cgroup的內存和CPU限制。
要將一個進程添加到cgroup,你需要知道其進程ID(PID)。然后使用cgclassify命令將進程添加到cgroup:
sudo cgclassify -g memory,cpu:my_cgroup <PID>
將<PID>替換為要限制的進程的進程ID。
要驗證資源限制是否生效,可以使用cgget命令查看cgroup的資源限制:
sudo cgget -g memory,cpu:my_cgroup
這將顯示my_cgroup的內存和CPU限制。
注意:這些步驟適用于CentOS 7及更高版本。在CentOS 6中,cgroups的使用方法略有不同。