"ulimit -v"如何在Linux操作系统中工作?



我想限制通过linux上的ulimit命令启动的过程使用的内存。我想知道使用哪种OS机制来支持Ulimit。特别是基于cgroups?

获得和设置限制的Linux API方法是GetRlimit(2)和SetRlimit(2)

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

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

" ulimit"基本上是一种过时的。如果您需要资源,则不应有任何实际限制,如果您想限制资源,则有更好的方法来建立报价。

这是一个很好的概述:

  • http://www.gnu.org/software/libc/manual/html_node/limits-on-resources.html

几个人要查看的页面包括:

  • Man 2 Getrlimit

  • Man 2 Setrlimit

  • 男人3 ulimit过时!

我使用djb的daemontools软件包的一部分SoftLimit。

例如,通过指定softlimit -m 1048576 nautilus之类的内容,程序(Nautilus)将永远不会超过1MIB的内存使用情况(在这种情况下,这也会立即导致它立即失败)。

相关内容

  • 没有找到相关文章