在 CentOS 系统中,你可以使用 cgroups
(控制组)来限制进程的资源使用。cgroups
是 Linux 内核的一个功能,可以让你对一组进程的资源使用进行限制、监控和分配。以下是如何使用 cgroups
限制进程资源的步骤:
cgroup-tools
软件包:sudo yum install cgroup-tools
sudo cgcreate -g memory:/my_cgroup
这将创建一个名为 my_cgroup
的新 cgroup,用于限制内存使用。你可以根据需要更改 cgroup 的名称。
例如,如果你想限制 my_cgroup
中进程的内存使用为 256MB,可以使用以下命令:
echo 268435456 | sudo tee /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes
这里,我们将内存限制设置为 256MB(256 * 1024 * 1024 字节)。
首先,找到你想限制的进程的 PID。例如,使用 ps
命令:
ps aux | grep my_process
假设你想限制的进程的 PID 为 12345,将其添加到 my_cgroup
:
echo 12345 | sudo tee /sys/fs/cgroup/memory/my_cgroup/tasks
现在,该进程将受到之前设置的内存限制。
你可以使用 cgget
命令查看 cgroup 的资源限制:
sudo cgget -g memory:my_cgroup
这将显示 my_cgroup
的内存限制以及其他相关信息。
请注意,这些步骤仅适用于 CentOS 7 及更早版本。在 CentOS 8 中,cgroup-tools
已被 libcgmanager
替代。如果你使用的是 CentOS 8,请参考相应的文档来设置 cgroups。