温馨提示×

CentOS中如何限制进程资源

小樊
33
2025-12-29 10:39:19
栏目: 智能运维

在CentOS中,可以使用cgroups(control groups)来限制进程的资源

  1. 安装cgroup-tools:
sudo yum install libcgroup-tools
  1. 创建一个新的cgroup:
sudo cgcreate -g cpu,memory:/my_cgroup

这将创建一个名为my_cgroup的新cgroup,限制CPU和内存资源。

  1. 为cgroup设置资源限制:
  • 限制CPU使用率:
echo "50000" | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_quota_us
echo "100000" | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_period_us

这将限制my_cgroup中的进程最多使用50%的CPU资源。

  • 限制内存使用:
echo "104857600" | sudo tee /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes

这将限制my_cgroup中的进程最多使用100MB的内存资源。

  1. 将进程添加到cgroup:

首先,找到要限制资源的进程ID(PID):

ps aux | grep your_process_name

然后,将进程添加到cgroup:

echo <PID> | sudo tee /sys/fs/cgroup/cpu/my_cgroup/tasks
echo <PID> | sudo tee /sys/fs/cgroup/memory/my_cgroup/tasks

<PID>替换为实际的进程ID。

现在,my_cgroup中的进程将受到之前设置的资源限制。

  1. 若要删除cgroup,可以执行以下命令:
sudo cgdestroy /sys/fs/cgroup/cpu/my_cgroup
sudo cgdestroy /sys/fs/cgroup/memory/my_cgroup

这将删除my_cgroup及其相关资源限制。

0