限制CentOS 5(2.6.18内核)中的进程资源消耗

限制CentOS 5(2.6.18内核)中的进程资源消耗

我想限制同一服务器上进程的资源(CPU、内存和网络带宽)消耗。如果我可以将进程从一台服务器迁移到另一台服务器,那就太好了。

我想我正在寻找一些轻量级虚拟化。我发现LXC是一个不错的选择。但我们的2.6.18内核不支持LXC。它是一个共享集群,因此,我不允许升级内核。而且我认为“setrlimit”系统调用只会在达到预算时向进程发送信号,而不是像虚拟机那样限制资源消耗(如果我错了,请纠正我)。对于这个任务有什么建议吗?

谢谢!

答案1

其中一些资源可以通过 pam_limits 模块进行限制。这方面的主要文档可以在以下位置找到:

man limits.conf

所有 Red Hat 类型系统上的配置文件都是 /etc/security/limits.conf。

很可能首先要理解的是硬限制和软限制之间的关系。此外,需要开始查看的一些指令包括:

  • 中央处理器
  • 内存锁

手册页底部有一些示例。

就网络带宽而言,这更难做到(但并非不可能)。基本思想是通过 iptables 根据 UID 限制访问,并通过 tc(流量控制)运行流量。

man tc

相关内容