
在 Linux 系统中,我们可以利用 cgroups (Control Groups) 来对进程的资源使用进行限制和监控。其中,对内存资源的限制是一个常见的应用场景。通过设置 cgroups,我们可以限制进程使用的最大内存量,以防止进程占用过多的系统内存而导致系统资源耗尽。
下面是一个示例,演示如何使用 cgroups 限制进程内存使用:
sudo mkdir /sys/fs/cgroup/memory/my_cgroup
sudo sh -c "echo 209715200 > /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes"
sudo cgclassify -g memory:my_cgroup [进程PID]
除设置内存使用上限,cgroups 还提供其他一些有用的内存管理选项,如设置 soft 和 hard 内存限制、启用 swap 等。通过合理利用这些选项,可以更好地管理系统的内存资源,提高应用程序的稳定性和可靠性。