“ulimit -v”如何在Linux操作系统中运行?

时间:2012-10-18 00:53:31

标签: linux bash ulimit

我想在Linux上使用ulimit命令限制通过bash启动的进程使用的内存。我想知道什么操作系统机制用于支持ulimit。特别是它是基于cgroups吗?

3 个答案:

答案 0 :(得分:2)

获取和设置限制的Linux API方法是getrlimit(2) and setrlimit(2)

在流程空间内管理限制。子进程将继承其父进程的限制。限制是POSIX标准的一部分,因此所有符合POSIX标准的操作系统都支持它们(Linux,BSD,OSX)。

cgroups是特定于Linux的,在Linux安装中甚至不需要。我不确定是否可以使用cgroup管理限制,但这肯定是非标准的。

答案 1 :(得分:2)

答案 2 :(得分:0)

我使用softlimit,这是DJB的daemontools包的一部分。

通过指定类似softlimit -m 1048576 nautilus之类的东西,程序(nautilus)永远不会超过1MiB的内存使用量(在这种情况下也会导致它立即失败)。