温馨提示×

如何在CentOS中限制单个用户的资源使用

小樊
41
2025-10-17 16:51:22
栏目: 智能运维

在CentOS中,您可以使用cgroups(control groups)和nice命令来限制单个用户的资源使用

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

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

  1. 为新用户分配资源限制:

例如,要限制用户user1的CPU使用率为50%,内存使用限制为512MB,请执行以下命令:

echo $((50 * 1024)) | sudo tee /sys/fs/cgroup/cpu/limited_user/cpu.cfs_quota_us
echo 100000 | sudo tee /sys/fs/cgroup/cpu/limited_user/cpu.cfs_period_us
echo 536870912 | sudo tee /sys/fs/cgroup/memory/limited_user/memory.limit_in_bytes
  1. 将用户进程添加到cgroup:

首先,找到用户user1的所有进程ID:

pgrep -u user1

然后,将这些进程ID添加到limited_user cgroup:

for pid in $(pgrep -u user1); do
  sudo cgclassify -g cpu,memory:$pid
done

现在,用户user1的所有进程都将受到之前设置的资源限制。

  1. (可选)使用nice命令调整进程优先级:

nice命令允许您调整进程的优先级。较低的nice值表示较高的优先级,较高的nice值表示较低的优先级。例如,要将用户user1的所有进程的nice值设置为10,请执行以下命令:

sudo renice 10 -u user1

这将确保user1的所有进程在竞争资源时具有较低的优先级。

通过以上步骤,您可以限制CentOS中单个用户的资源使用。请注意,这些更改可能需要重新启动系统才能生效。

0