限制CPU和* nix进程的内存

时间:2015-03-11 09:01:19

标签: unix limit quote

是否可以限制CPU和* nix过程的内存?

CPU限制可能看起来像“使用不超过一个核心的10%”。

内存限制可能看起来像“使用不超过100Mb”,操作系统可能会限制它或者如果它试图超过限制就终止进程,两种方式都可以。

任何可以做到这一点的* nix都没问题。

似乎可以用虚拟机实现它,但这是不可接受的,因为开销太大了。

2 个答案:

答案 0 :(得分:2)

如果您碰巧使用Solaris,则限制资源使用的能力是本机功能。

使用rcap.max-rss设置可以限制每个进程的内存(RAM)使用量,而使用project可以按project.cpu-caps限制CPU使用率。

请注意,Solaris还允许操作系统级虚拟化(a.k.a.区域),与裸机操作系统实例相比,它没有显着的开销(如果有的话)。

资源上限是Solaris区域配置的一部分。

答案 1 :(得分:1)

尝试CPULimit

cpulimit是一个简单的程序,它试图限制进程的CPU使用率(以百分比表示,而不是以cpu时间表示)。这对于控制批处理作业很有用,当你不希望它们吃太多的cpu时。它不会对nice值或其他调度优先级的东西起作用,而是对真正的cpu使用情况起作用。此外,它能够动态,快速地适应整个系统负载。